@@ -22,7 +22,7 @@ const StatusMap: Record<TaskState, Status> = {
2222 todo : 'todo' ,
2323}
2424
25- interface FormattedAssertionResult {
25+ export interface JsonAssertionResult {
2626 ancestorTitles : Array < string >
2727 fullName : string
2828 status : Status
@@ -32,18 +32,18 @@ interface FormattedAssertionResult {
3232 location ?: Callsite | null
3333}
3434
35- interface FormattedTestResult {
35+ export interface JsonTestResult {
3636 message : string
3737 name : string
3838 status : 'failed' | 'passed'
3939 startTime : number
4040 endTime : number
41- assertionResults : Array < FormattedAssertionResult >
41+ assertionResults : Array < JsonAssertionResult >
4242 // summary: string
4343 // coverage: unknown
4444}
4545
46- interface FormattedTestResults {
46+ export interface JsonTestResults {
4747 numFailedTests : number
4848 numFailedTestSuites : number
4949 numPassedTests : number
@@ -55,7 +55,7 @@ interface FormattedTestResults {
5555 numTotalTestSuites : number
5656 startTime : number
5757 success : boolean
58- testResults : Array < FormattedTestResult >
58+ testResults : Array < JsonTestResult >
5959 // coverageMap?: CoverageMap | null | undefined
6060 // numRuntimeErrorTestSuites: number
6161 // snapshot: SnapshotSummary
@@ -83,7 +83,7 @@ export class JsonReporter implements Reporter {
8383 const numPassedTests = numTotalTests - numFailedTests
8484 const numPendingTests = tests . filter ( t => t . result ?. state === 'run' ) . length
8585 const numTodoTests = tests . filter ( t => t . mode === 'todo' ) . length
86- const testResults : Array < FormattedTestResult > = [ ]
86+ const testResults : Array < JsonTestResult > = [ ]
8787
8888 const success = numFailedTestSuites === 0 && numFailedTests === 0
8989
@@ -111,7 +111,7 @@ export class JsonReporter implements Reporter {
111111 duration : t . result ?. duration ,
112112 failureMessages : t . result ?. errors ?. map ( e => e . message ) || [ ] ,
113113 location : await this . getFailureLocation ( t ) ,
114- } as FormattedAssertionResult
114+ } as JsonAssertionResult
115115 } ) )
116116
117117 if ( tests . some ( t => t . result ?. state === 'run' ) ) {
@@ -120,20 +120,21 @@ export class JsonReporter implements Reporter {
120120 + 'Please report it to https://github.com/vitest-dev/vitest/issues' )
121121 }
122122
123+ const hasFailedTests = tests . some ( t => t . result ?. state === 'fail' )
124+
123125 testResults . push ( {
124126 assertionResults,
125127 startTime,
126128 endTime,
127- status : tests . some ( t =>
128- t . result ?. state === 'fail' )
129+ status : file . result ?. state === 'fail' || hasFailedTests
129130 ? 'failed'
130131 : 'passed' ,
131132 message : file . result ?. errors ?. [ 0 ] ?. message ?? '' ,
132133 name : file . filepath ,
133134 } )
134135 }
135136
136- const result : FormattedTestResults = {
137+ const result : JsonTestResults = {
137138 numTotalTestSuites,
138139 numPassedTestSuites,
139140 numFailedTestSuites,
0 commit comments