jest-coverage-partial-compare
v1.1.3
Published
Compares the summary-coverage.json files between two branches
Downloads
15
Maintainers
Readme
jest-coverage-partial-comparison
This is a fork from https://github.com/jschaftenaar/jest-code-coverage-protection, the fundamental difference is that it compares each file from the report instead of the summarized total. This means it supports the "changedSince" option present in Jest configuration, now we don;t need to run the entire test suite in order to compare the coverage to the a previous state.
Requirements
- Add
json-summary
as coverage reporter to jest configuration
Install
npm install jest-coverage-partial-comparison --save-dev
Add the command to package.json
"scripts": {
"jcpc": "jcpc"
},
usage options
Usage: jcpc [options]
Compare coverage-summary.json generated by jest (including the "changedSince: variation)
Options:
-V, --version output the version number
-f, --file <filename> The file generated by the (feature) branch you want to check (default: "coverage/coverage-summary.json")
-c, --compare <filename> The file generate by the (master) branch you want to compare against (default: "master/coverage/coverage-summary.json")
-n, --new <threshold The minimal threshold new code should have (default: "0.80")
-v, --variance <variance> Allow for variance, e.g. allow 0.05 to allow a 5% decrease using hold (default: "0")
-h, --help display help for command
Configure ci/cd:
- Make sure your branches generate the coverage-summary.json file using the coverage reporter json summary
- Add checkout of comparison branch(master) to your build step
- Run jcpc command
- Catch exit codes of jcpc, 0 = coverage check passed, 1 = coverage check failed
Examples
jcpc -n 0.9 <new code should have at least 90% code coverage>
jcpc -v 0.5 <overall code coverage should be within 0.5% of comparison branch>
jcpc -f cover.json <specify input file for the feature branch>