Tests: add actual and expected messages to test reporter

Close gh-5443
This commit is contained in:
Timmy Willison 2024-03-14 09:05:42 -04:00 committed by GitHub
parent 60f11b58bf
commit 1e84908baf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -10,28 +10,28 @@ export function reportTest( test, reportId, { browser, headless } ) {
return; return;
} }
let message = `Test ${ test.status } on ${ chalk.yellow( let message = `${ chalk.bold( `${ test.suiteName }: ${ test.name }` ) }`;
message += `\nTest ${ test.status } on ${ chalk.yellow(
getBrowserString( browser, headless ) getBrowserString( browser, headless )
) } (${ chalk.bold( reportId ) }).`; ) } (${ chalk.bold( reportId ) }).`;
message += `\n${ chalk.bold( `${ test.suiteName }: ${ test.name }` ) }`;
// Prefer failed assertions over error messages // test.assertions only contains passed assertions;
if ( test.assertions.filter( ( a ) => !!a && !a.passed ).length ) { // test.errors contains all failed asssertions
test.assertions.forEach( ( assertion, i ) => { if ( test.errors.length ) {
if ( !assertion.passed ) {
message += `\n${ i + 1 }. ${ chalk.red( assertion.message ) }`;
message += `\n${ chalk.gray( assertion.stack ) }`;
}
} );
} else if ( test.errors.length ) {
for ( const error of test.errors ) { for ( const error of test.errors ) {
message += `\n${ chalk.red( error.message ) }`; message += "\n";
message += `\n${ error.message }`;
message += `\n${ chalk.gray( error.stack ) }`; message += `\n${ chalk.gray( error.stack ) }`;
if ( error.expected && error.actual ) {
message += `\nexpected: ${ JSON.stringify( error.expected ) }`;
message += `\nactual: ${ chalk.red( JSON.stringify( error.actual ) ) }`;
}
} }
} }
console.log( "\n\n" + message ); console.log( "\n\n" + message );
// Only return failed messages
if ( test.status === "failed" ) { if ( test.status === "failed" ) {
return message; return message;
} }