]> source.dussan.org Git - jquery.git/commitdiff
Tests: add actual and expected messages to test reporter
authorTimmy Willison <timmywil@users.noreply.github.com>
Thu, 14 Mar 2024 13:05:57 +0000 (09:05 -0400)
committerGitHub <noreply@github.com>
Thu, 14 Mar 2024 13:05:57 +0000 (09:05 -0400)
Close gh-5444

test/runner/reporter.js

index bb5e7601b6472cfaae5e18d75cefffd39af1864e..74417f2fb664f600aa5ec50c40da9a9fc9d317f3 100644 (file)
@@ -10,28 +10,28 @@ export function reportTest( test, reportId, { browser, headless } ) {
                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 )
        ) } (${ chalk.bold( reportId ) }).`;
-       message += `\n${ chalk.bold( `${ test.suiteName }: ${ test.name }` ) }`;
 
-       // Prefer failed assertions over error messages
-       if ( test.assertions.filter( ( a ) => !!a && !a.passed ).length ) {
-               test.assertions.forEach( ( assertion, i ) => {
-                       if ( !assertion.passed ) {
-                               message += `\n${ i + 1 }. ${ chalk.red( assertion.message ) }`;
-                               message += `\n${ chalk.gray( assertion.stack ) }`;
-                       }
-               } );
-       } else if ( test.errors.length ) {
+       // test.assertions only contains passed assertions;
+       // test.errors contains all failed asssertions
+       if ( test.errors.length ) {
                for ( const error of test.errors ) {
-                       message += `\n${ chalk.red( error.message ) }`;
+                       message += "\n";
+                       message += `\n${ error.message }`;
                        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 );
 
+       // Only return failed messages
        if ( test.status === "failed" ) {
                return message;
        }