From 3dcc6368690ab2aab0c200cd6d6fdd3e300ebff4 Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Mon, 29 Jun 2020 17:46:02 -0700 Subject: [PATCH] fix(score): Use improvements when calculating pass rate It turns out we were not using the number of `improvements` (tests expected to fail that actually passed) when calculating the total number of tests, and therefore the percentage pass rate of the complete test suite. This has the effect of under-reporting pass rate in situations where there are improvements. Also, the autocomplete output generator was not printing improvements, so it was looking like tests could "disappear" from results across different runs. --- output_generators/autocomplete.js | 4 +++- output_generators/terminal.js | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/output_generators/autocomplete.js b/output_generators/autocomplete.js index 0477d4f..a61745c 100644 --- a/output_generators/autocomplete.js +++ b/output_generators/autocomplete.js @@ -91,15 +91,17 @@ function prettyPrintSuiteResults( suiteResults, config, testSuites ){ console.log( '\nAggregate test results'.blue ); console.log( 'Pass: ' + suiteResults.stats.pass.toString().green ); + console.log( 'Improvements: ' + suiteResults.stats.improvement.toString().green ); console.log( 'Fail: ' + suiteResults.stats.fail.toString().yellow ); console.log( 'Placeholders: ' + suiteResults.stats.placeholder.toString().cyan ); var numRegressions = suiteResults.stats.regression; var regressionsColor = ( numRegressions > 0 ) ? 'red' : 'yellow'; - var total = suiteResults.stats.pass + suiteResults.stats.fail + suiteResults.stats.regression; + var total = suiteResults.stats.pass + suiteResults.stats.fail + suiteResults.stats.regression + suiteResults.stats.improvement; var pass = total - numRegressions; console.log( 'Regressions: ' + numRegressions.toString()[ regressionsColor ] ); + console.log( 'Total tests: ' + total ); console.log( 'Took %sms', suiteResults.stats.timeTaken ); console.log( 'Test success rate %s%%', percentageForDisplay(total, pass)); console.log( '' ); diff --git a/output_generators/terminal.js b/output_generators/terminal.js index 6dfa466..0b789c0 100644 --- a/output_generators/terminal.js +++ b/output_generators/terminal.js @@ -128,10 +128,11 @@ function prettyPrintSuiteResults( suiteResults, config, testSuites ){ console.log( 'Placeholders: ' + suiteResults.stats.placeholder.toString().cyan ); var numRegressions = suiteResults.stats.regression; - var total = suiteResults.stats.pass + suiteResults.stats.fail + suiteResults.stats.regression; + var total = suiteResults.stats.pass + suiteResults.stats.fail + suiteResults.stats.regression + suiteResults.stats.improvement; var pass = total - numRegressions; console.log( 'Regressions: ' + numRegressions.toString().red); + console.log( 'Total tests: ' + total ); console.log( 'Took %sms', suiteResults.stats.timeTaken ); console.log( 'Test success rate %s%%', percentageForDisplay(total,pass));