@@ -53,9 +53,18 @@ export default {
53
53
time : testCase . time ,
54
54
} )
55
55
if ( testCase . failure ) {
56
- testcaseElement . ele ( testCase . failure . type )
56
+ const failureElement = testcaseElement . ele ( testCase . failure . kind )
57
+ if ( testCase . failure . kind === 'failure' && testCase . failure . type ) {
58
+ failureElement . att ( 'type' , testCase . failure . type )
59
+ }
60
+ if ( testCase . failure . message ) {
61
+ failureElement . att ( 'message' , testCase . failure . message )
62
+ }
63
+ if ( testCase . failure . stack ) {
64
+ failureElement . cdata ( testCase . failure . stack )
65
+ }
57
66
}
58
- testcaseElement . ele ( 'system-out' , { } ) . cdata ( testCase . output )
67
+ testcaseElement . ele ( 'system-out' ) . cdata ( testCase . output )
59
68
}
60
69
61
70
write ( builder . end ( { pretty : true } ) )
@@ -82,7 +91,10 @@ interface ReportTestCase {
82
91
}
83
92
84
93
interface ReportFailure {
85
- type : 'failure' | 'skipped'
94
+ kind : 'failure' | 'skipped'
95
+ type ?: string
96
+ message ?: string
97
+ stack ?: string
86
98
}
87
99
88
100
function makeReport ( query : ExtendedQuery ) : ReportSuite {
@@ -136,6 +148,9 @@ function makeFailure(
136
148
return undefined
137
149
}
138
150
return {
139
- type : result . status === TestStepResultStatus . SKIPPED ? 'skipped' : 'failure' ,
151
+ kind : result . status === TestStepResultStatus . SKIPPED ? 'skipped' : 'failure' ,
152
+ type : result . exception ?. type ,
153
+ message : result . exception ?. message ,
154
+ stack : result . exception ?. stackTrace ?? result . message ,
140
155
}
141
156
}
0 commit comments