Navel Piercing Madness

    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>
    

    Install

    npm i jest-coverage-partial-compare

    DownloadsWeekly Downloads

    1

    Version

    1.1.3

    License

    MIT

    Unpacked Size

    9.07 kB

    Total Files

    6

    Last publish

    Collaborators

    • cris.f.o