Skip to content

Commit 63e0c8b

Browse files
committed
junit: Improve test coverage of junit.CreateFromReport
1 parent f643780 commit 63e0c8b

File tree

1 file changed

+72
-9
lines changed

1 file changed

+72
-9
lines changed

junit/junit_test.go

Lines changed: 72 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,43 +3,106 @@ package junit
33
import (
44
"encoding/xml"
55
"testing"
6+
"time"
67

78
"github.com/jstemmer/go-junit-report/v2/gtr"
89

910
"github.com/google/go-cmp/cmp"
1011
)
1112

1213
func TestCreateFromReport(t *testing.T) {
13-
// TODO: complete this report
1414
report := gtr.Report{
1515
Packages: []gtr.Package{
1616
{
17+
Name: "package/name",
18+
Timestamp: time.Date(2022, 6, 26, 0, 0, 0, 0, time.UTC),
19+
Duration: 1 * time.Second,
20+
Coverage: 0.9,
21+
Output: []string{"output"},
22+
Properties: map[string]string{"go.version": "go1.18"},
1723
Tests: []gtr.Test{
24+
{
25+
Name: "TestPass",
26+
Result: gtr.Pass,
27+
Output: []string{"ok"},
28+
},
1829
{
1930
Name: "TestFail",
2031
Result: gtr.Fail,
32+
Output: []string{"fail"},
33+
},
34+
{
35+
Name: "TestSkip",
36+
Result: gtr.Skip,
37+
},
38+
{
39+
Name: "TestIncomplete",
40+
Result: gtr.Unknown,
2141
},
2242
},
43+
BuildError: gtr.Error{Name: "Build error"},
44+
RunError: gtr.Error{Name: "Run error"},
2345
},
2446
},
2547
}
2648

2749
want := Testsuites{
28-
Tests: 1,
50+
Tests: 6,
51+
Errors: 3,
2952
Failures: 1,
53+
Skipped: 1,
3054
Suites: []Testsuite{
3155
{
32-
Tests: 1,
33-
Failures: 1,
34-
Time: "0.000",
35-
ID: 0,
56+
Name: "package/name",
57+
Tests: 6,
58+
Errors: 3,
59+
ID: 0,
60+
Failures: 1,
61+
Skipped: 1,
62+
Time: "1.000",
63+
Timestamp: "2022-06-26T00:00:00Z",
64+
Properties: &[]Property{
65+
{Name: "go.version", Value: "go1.18"},
66+
{Name: "coverage.statements.pct", Value: "0.90"},
67+
},
3668
Testcases: []Testcase{
3769
{
38-
Name: "TestFail",
39-
Time: "0.000",
40-
Failure: &Result{Message: "Failed"},
70+
Name: "TestPass",
71+
Classname: "package/name",
72+
Time: "0.000",
73+
SystemOut: &Output{Data: "ok"},
74+
},
75+
{
76+
Name: "TestFail",
77+
Classname: "package/name",
78+
Time: "0.000",
79+
Failure: &Result{Message: "Failed", Data: "fail"},
80+
},
81+
{
82+
Name: "TestSkip",
83+
Classname: "package/name",
84+
Time: "0.000",
85+
Skipped: &Result{Message: "Skipped"},
86+
},
87+
{
88+
Name: "TestIncomplete",
89+
Classname: "package/name",
90+
Time: "0.000",
91+
Error: &Result{Message: "No test result found"},
92+
},
93+
{
94+
Classname: "Build error",
95+
Time: "0.000",
96+
Error: &Result{Message: "Build error"},
97+
},
98+
{
99+
Name: "Failure",
100+
Classname: "Run error",
101+
Time: "0.000",
102+
Error: &Result{Message: "Runtime error"},
41103
},
42104
},
105+
SystemOut: &Output{Data: "output"},
43106
},
44107
},
45108
}

0 commit comments

Comments
 (0)