Skip to content

πŸŒπŸ“ˆ Automatically bump up global Jest thresholds whenever coverage goes above them

License

Notifications You must be signed in to change notification settings

lgabeskiria/jest-it-up

Β 
Β 

Repository files navigation

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:
  -m, --margin <margin>  minimum threshold increase (default: 0)
  -i, --interactive      ask for confirmation before applying changes
  -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

About

πŸŒπŸ“ˆ Automatically bump up global Jest thresholds whenever coverage goes above them

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.6%
  • Shell 0.4%