mirror of
https://github.com/dorny/test-reporter.git
synced 2026-02-04 20:15:23 -08:00
Fix flutter-json doesn't provide error details
This commit is contained in:
@@ -14,7 +14,9 @@ import {
|
||||
isTestStartEvent,
|
||||
isTestDoneEvent,
|
||||
isErrorEvent,
|
||||
isDoneEvent
|
||||
isDoneEvent,
|
||||
isMessageEvent,
|
||||
MessageEvent
|
||||
} from './dart-json-types'
|
||||
|
||||
import {
|
||||
@@ -45,8 +47,10 @@ class TestCase {
|
||||
this.groupId = testStart.test.groupIDs[testStart.test.groupIDs.length - 1]
|
||||
}
|
||||
readonly groupId: number
|
||||
readonly print: MessageEvent[] = []
|
||||
testDone?: TestDoneEvent
|
||||
error?: ErrorEvent
|
||||
|
||||
get result(): TestExecutionResult {
|
||||
if (this.testDone?.skipped) {
|
||||
return 'skipped'
|
||||
@@ -112,7 +116,10 @@ export class DartJsonParser implements TestParser {
|
||||
tests[evt.testID].testDone = evt
|
||||
} else if (isErrorEvent(evt)) {
|
||||
tests[evt.testID].error = evt
|
||||
} else if (isDoneEvent(evt)) {
|
||||
} else if (isMessageEvent(evt)) {
|
||||
tests[evt.testID].print.push(evt)
|
||||
}
|
||||
else if (isDoneEvent(evt)) {
|
||||
success = evt.success
|
||||
totalTime = evt.time
|
||||
}
|
||||
@@ -151,6 +158,8 @@ export class DartJsonParser implements TestParser {
|
||||
const {trackedFiles} = this.options
|
||||
const message = test.error?.error ?? ''
|
||||
const stackTrace = test.error?.stackTrace ?? ''
|
||||
const print = test.print.filter(p => p.messageType === 'print').map(p => p.message).join('\n')
|
||||
const details = [print, stackTrace].filter(str => str !== '').join('\n')
|
||||
const src = this.exceptionThrowSource(stackTrace, trackedFiles)
|
||||
let path
|
||||
let line
|
||||
@@ -170,7 +179,7 @@ export class DartJsonParser implements TestParser {
|
||||
path,
|
||||
line,
|
||||
message,
|
||||
stackTrace
|
||||
details
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ export interface DebugEvent extends Event {
|
||||
export interface MessageEvent extends Event {
|
||||
type: 'print'
|
||||
testID: number
|
||||
messageType: string
|
||||
messageType: 'print' | 'skip'
|
||||
message: string
|
||||
}
|
||||
|
||||
@@ -127,3 +127,6 @@ export function isErrorEvent(event: Event): event is ErrorEvent {
|
||||
export function isDoneEvent(event: Event): event is DoneEvent {
|
||||
return event.type === 'done'
|
||||
}
|
||||
export function isMessageEvent(event: Event): event is MessageEvent {
|
||||
return event.type === 'print'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user