reportFinish( hasError: boolean, errors: { [fileName: string]: ErrorMessage; } ): void { Object .keys(errors) .map(fileName => [fileName, errors[fileName]]) .forEach(([fileName, errorMessage], index) => { console.log(`${red('✗ failure: ')}${fileName}`); console.log(errorMessage); }); // assert this.totalFileNum === [totalFileNum in reportFileNumber]; const totalFileNum = this.totalFileNum; // assert this.failedFileNum === Object.keys(errors).length; const failedFileNum = this.failedFileNum; // assert this.succeedFileNum === totalFileNum - failedFileNum; // const succeedFileNum = this.succeedFileNum; // unused const totalTestNum = this.totalTestNum; const failedTestNum = this.failedTestNum; // const succeedTestNum = this.succeedTestNum; // unused const summary = hasError ? red( `✗ ${failedFileNum} of ${totalFileNum} files` + `, ${failedTestNum} of ${totalTestNum} tests failed` ) : green(`✓ ${totalFileNum} files ${totalTestNum} tests completed`); console.log(summary); }
finished(results: TestResult[]): void { const passed = results.filter(({ error }) => !!!error); const failed = results.filter(({ error }) => !!error); failed.forEach(({ test, error: { name, message } }) => { console.log(`${red(x + ' failure: ')}${test.name}`); console.log(`${name}: ${message}`); }); const summary = failed.length > 0 ? red(x + ` ${failed.length} of ${results.length} tests failed`) : green(v + ` ${results.length} tests passed`); console.log(summary); }
.forEach(([fileName, errorMessage], index) => { console.log(`${red('✗ failure: ')}${fileName}`); console.log(errorMessage); });
failed.forEach(({ test, error: { name, message } }) => { console.log(`${red(x + ' failure: ')}${test.name}`); console.log(`${name}: ${message}`); });