1.1.0 • Published 1 year ago

@martinhrvn/jest-it-up v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

jest-it-up

npm package version Build status Code coverage Dependencies status

Ensure incremental coverage gains are not lost, and positively reinforce good testing habits. Automatically bump up global Jest thresholds whenever coverage goes above them.

Demo

Requirements

  • Node.js 12+
  • Conventional jest.config.js (package.json config unsupported)
  • json-summary coverage report (see usage)

Installation

npm install --save-dev jest-it-up

Usage

jest-it-up exposes a standalone CLI tool (see options), but you most likelly want to use it in a post-test script.

Within package.json:

{
  "scripts": {
    "test": "jest --coverage", // or set `collectCoverage` to `true` in Jest config
    "posttest": "jest-it-up" // must run from the same directory as `jest.config.js`
  }
}

within jest.config.js:

module.exports = {
  coverageReporters: [
    'json-summary' // plus any other reporters, e.g. "lcov", "text", "text-summary"
  ],
  coverageThreshold: {
    global: {
      branches: 0, // or your current numbers
      functions: 0,
      lines: 0,
      statements: 0
    }
  }
}

Once tests finish running, jest-it-up will update configured thresholds to match higher coverage numbers, if any.

Options

$ jest-it-up --help
Usage: jest-it-up [options]

Options:
  -c, --config <path>         path to a Jest config file (default: 'jest.config.js')
  -m, --margin <margin>       minimum threshold increase (default: 0)
  -i, --interactive           ask for confirmation before applying changes
  -r, --round <round>         round to nearest multiple of (default: 0.001)
  -t, --tolerance <percent>   keeps the new threshold below the current coverage by the given percentage (default: 0)
  -s, --silent                do not output messages
  -d, --dry-run               process but do not change files
  -v, --version               output the version number
  -h, --help                  display help for command