junit2md/cmd/junit2md/template/report.md.tmpl

89 lines
1.5 KiB
Cheetah

# Test report
{{range .Suites}}
## {{ .Name }}
### Overview
| State | Total |
|-------|-------|
| Passed | {{ .Totals.Passed }} |
| Skipped | {{ .Totals.Skipped }} |
| Failed | {{ .Totals.Failed }} |
| Error | {{ .Totals.Error }} |
**Total duration**: {{ .Totals.Duration }}
<details>
<summary>See details</summary>
| Status | Name | Class |
|--------|------|-------|
{{- range .Tests }}
| {{ template "status_icon" .Status }} | `{{ .Name }}` ||
{{- end -}}
{{- range .Suites }}
{{- template "suite" . -}}
{{end}}
</details>
{{if or (gt .Totals.Error 0) (gt .Totals.Failed 0) }}
#### Errors
{{end}}
{{- range .Tests }}
{{ if or ( eq .Status "error" ) (eq .Status "failed" ) }}
<details>
<summary>`{{ .Name -}}`</summary>
**Output**
```
{{ .Error -}}
```
</details>
{{ end }}
{{- end -}}
{{- range .Suites }}
{{- $suite := . }}
{{- range .Tests }}
{{ if or ( eq .Status "error" ) (eq .Status "failed" ) }}
<details>
<summary>`{{ .Name -}}`</summary>
**Suite**
```
{{ $suite.Name }}
```
**Output**
```
{{ .Error -}}
```
</details>
{{ end }}
{{- end -}}
{{end}}
{{end -}}
{{define "status_icon"}}
{{- if eq . "passed" -}}&#10003;{{- end -}}
{{- if or (eq . "error") (eq . "failed") -}}&#10799;{{- end -}}
{{- if eq . "skipped" -}}&#9193;{{- end -}}
{{end}}
{{define "suite"}}
{{- $suite := . }}
{{- range .Tests }}
| {{ template "status_icon" .Status }} | `{{ .Name }}` | `{{ $suite.Name }}` |
{{- end -}}
{{- range .Suites }}
{{- template "suite" . }}
{{- end -}}
{{end}}