@@ -22,7 +22,7 @@ const StatusMap: Record<TaskState, Status> = {
22
22
todo : 'todo' ,
23
23
}
24
24
25
- interface FormattedAssertionResult {
25
+ export interface JsonAssertionResult {
26
26
ancestorTitles : Array < string >
27
27
fullName : string
28
28
status : Status
@@ -32,18 +32,18 @@ interface FormattedAssertionResult {
32
32
location ?: Callsite | null
33
33
}
34
34
35
- interface FormattedTestResult {
35
+ export interface JsonTestResult {
36
36
message : string
37
37
name : string
38
38
status : 'failed' | 'passed'
39
39
startTime : number
40
40
endTime : number
41
- assertionResults : Array < FormattedAssertionResult >
41
+ assertionResults : Array < JsonAssertionResult >
42
42
// summary: string
43
43
// coverage: unknown
44
44
}
45
45
46
- interface FormattedTestResults {
46
+ export interface JsonTestResults {
47
47
numFailedTests : number
48
48
numFailedTestSuites : number
49
49
numPassedTests : number
@@ -55,7 +55,7 @@ interface FormattedTestResults {
55
55
numTotalTestSuites : number
56
56
startTime : number
57
57
success : boolean
58
- testResults : Array < FormattedTestResult >
58
+ testResults : Array < JsonTestResult >
59
59
// coverageMap?: CoverageMap | null | undefined
60
60
// numRuntimeErrorTestSuites: number
61
61
// snapshot: SnapshotSummary
@@ -83,7 +83,7 @@ export class JsonReporter implements Reporter {
83
83
const numPassedTests = numTotalTests - numFailedTests
84
84
const numPendingTests = tests . filter ( t => t . result ?. state === 'run' ) . length
85
85
const numTodoTests = tests . filter ( t => t . mode === 'todo' ) . length
86
- const testResults : Array < FormattedTestResult > = [ ]
86
+ const testResults : Array < JsonTestResult > = [ ]
87
87
88
88
const success = numFailedTestSuites === 0 && numFailedTests === 0
89
89
@@ -111,7 +111,7 @@ export class JsonReporter implements Reporter {
111
111
duration : t . result ?. duration ,
112
112
failureMessages : t . result ?. errors ?. map ( e => e . message ) || [ ] ,
113
113
location : await this . getFailureLocation ( t ) ,
114
- } as FormattedAssertionResult
114
+ } as JsonAssertionResult
115
115
} ) )
116
116
117
117
if ( tests . some ( t => t . result ?. state === 'run' ) ) {
@@ -120,20 +120,21 @@ export class JsonReporter implements Reporter {
120
120
+ 'Please report it to https://github.com/vitest-dev/vitest/issues' )
121
121
}
122
122
123
+ const hasFailedTests = tests . some ( t => t . result ?. state === 'fail' )
124
+
123
125
testResults . push ( {
124
126
assertionResults,
125
127
startTime,
126
128
endTime,
127
- status : tests . some ( t =>
128
- t . result ?. state === 'fail' )
129
+ status : file . result ?. state === 'fail' || hasFailedTests
129
130
? 'failed'
130
131
: 'passed' ,
131
132
message : file . result ?. errors ?. [ 0 ] ?. message ?? '' ,
132
133
name : file . filepath ,
133
134
} )
134
135
}
135
136
136
- const result : FormattedTestResults = {
137
+ const result : JsonTestResults = {
137
138
numTotalTestSuites,
138
139
numPassedTestSuites,
139
140
numFailedTestSuites,
0 commit comments