Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return new Promise(r => r({
coverage,
status: RunStatus.Complete,
tests: [{
failureMessages: [''],
name: '',
status: TestStatus.Failed,
timeSpentMs: 23
}]
}));
}
tests: [
{
name: 'All tests',
status: TestStatus.Success,
timeSpentMs: duration
}
]
};
} else {
return {
status: RunStatus.Complete,
tests: [
{
failureMessages: [output.map(buf => buf.toString()).join(os.EOL)],
name: 'All tests',
status: TestStatus.Failed,
timeSpentMs: duration
}
]
};
}
}
});
public readonly onSpecComplete = (_browser: any, spec: KarmaSpec) => {
const name = spec.suite.reduce((name, suite) => name + suite + ' ', '') + spec.description;
let status = TestStatus.Failed;
if (spec.skipped) {
status = TestStatus.Skipped;
} else if (spec.success) {
status = TestStatus.Success;
}
const testResult: TestResult = {
failureMessages: spec.log,
name,
status,
timeSpentMs: spec.time
};
this.emit('test_result', testResult);
};
private determineTestResultStatus(status: string) {
switch (status) {
case 'passed':
return TestStatus.Success;
case 'pending':
return TestStatus.Skipped;
case 'todo':
return TestStatus.Skipped;
default:
return TestStatus.Failed;
}
}
}
private toTestResultStatus(state: CompletedState): TestStatus {
switch (state) {
case 'failing':
return TestStatus.Failed;
case 'passing':
return TestStatus.Success;
default:
return TestStatus.Skipped;
}
}
}
return runResult.tests.filter(testResult => testResult.status === TestStatus.Failed);
}
this.runner.on('fail', (test: any, err: any) => {
this.runResult.tests.push({
failureMessages: [err.message],
name: test.fullTitle(),
status: TestStatus.Failed,
timeSpentMs: this.timer.elapsedMs()
});
if (!this.runResult.errorMessages) {
this.runResult.errorMessages = [];
}
this.runResult.errorMessages.push(err.message);
if (StrykerMochaReporter.log.isTraceEnabled()) {
StrykerMochaReporter.log.trace(`Test failed: ${test.fullTitle()}. Error: ${err.message}`);
}
});
export function toStrykerTestResult(specResult: jasmine.CustomReporterResult, timeSpentMs: number): TestResult {
let status = TestStatus.Failed;
let failureMessages: string[] | undefined;
if (specResult.status === 'disabled' || specResult.status === 'pending' || specResult.status === 'excluded') {
status = TestStatus.Skipped;
} else if (!specResult.failedExpectations || specResult.failedExpectations.length === 0) {
status = TestStatus.Success;
} else {
failureMessages = specResult.failedExpectations.map(failedExpectation => failedExpectation.message);
}
return {
failureMessages,
name: specResult.fullName,
status,
timeSpentMs
};
}