ice

istanbul-coverage-enforcer

A Nodejs package and cli tool to enforce code coverage

Showing:

Popularity

Downloads/wk

0

GitHub Stars

1

Maintenance

Last Commit

2yrs ago

Contributors

1

Package

Dependencies

4

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

istanbul-coverage-enforcer

A Nodejs package and cli tool to enforce global code coverage

NPM

Build status

Build Status coverage

npm status

downloads version

Why?

Most of the coverage tools available do not provide an option to enforce the coverage and flag exception in case the coverage threshold is not met. This is one of the very frequently faced use cases I came across for most applications I work along with other team members. Due to struct deadlines we tend to miss out on tests and manually enforcing the test coverage to be maintained is not a scalable option.

This package solves the issue of manually maintaning the global code coverage above a given threshold

Installation

Use it with npm as

npm install istanbul-coverage-enforcer

or with yarn as

yarn add istanbul-coverage-enforcer

Prerequisite

istanbul stable (0.4.5 or below) is needed to get the required interface of the coverage.json file

Usage

You can use the istanbul-coverage-enforcer both as a node package and as a CLI tool

As a CLI tool:

These are the options available currently with the CLI tool

enforce --help

  Usage: enforce [options]


  Options:

    -c, --coverage-path   The path to coverage JSON file
    -t, --threshold-path  The path to the threshold JSON file
    -h, --help            output usage information
  1. Add a npm script in package.json to call the package with the path to the code-coverage file. By default this is at coverage/coverage.json
"enforce-coverage": "enforce -c coverage/coverage.json -t coverage-threshold.json",
  1. Now you can run this script as part of your build to ensure that code coverage is maintained above threshold
npm run enforce-covergage

Output istanbul-enforce-success

istanbul-enforce-failure

As a node package

  1. Create a coverage-threshold.json in the root of your project. Optionally this can be also passed as the second parameter to the function

  2. In your script import and call the enforce function as below:

const enforce = require('../index');

enforce('./examples/packages/coverage.json', './examples/packages/coverage-threshold.json');

Refer the examples folder for basic use case examples as node package and cli

Reference and Credits

istanbul-threshold-checker for getting the grunt work to compare and generate the result

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial