jest-coverage-partial-compare

1.1.3 • Public • Published

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>

Package Sidebar

Install

npm i jest-coverage-partial-compare

Weekly Downloads

10

Version

1.1.3

License

MIT

Unpacked Size

9.07 kB

Total Files

6

Last publish

Collaborators

  • cris.f.o