coverage

A command-line tool to collect and report code coverage of a JavaScript program

ISC 22 个版本
安装
npm install coverage
yarn add coverage
pnpm add coverage
bun add coverage
README

coverage

npm version Github Actions Build Status Build status CircleCI codecov

A command-line tool to collect and report code coverage of a JavaScript program

$ coverage test.js

✔ write a file
✔ create directories as needed
✔ validate arguments

3 of 3 passed.

----------|----------|----------|----------|----------|-------------------|
File      |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files |    95.15 |    79.52 |      100 |    95.09 |                   |
 index.js |     90.6 |    75.38 |      100 |    90.52 |... 44,148,152,156 |
 lib.js   |      100 |    94.44 |      100 |      100 |               107 |
----------|----------|----------|----------|----------|-------------------|

This is an opinionated wrapper of c8, different in the following points:

Installation

Use npm.

npm install coverage

Once this package is installed to the project directory, users can execute coverage command inside npm scripts.

CLI

coverage [options] <file|command> [args]

An example of the HTML report

Execute the command, print code coverage to the stdout and write HTML reports under the ./coverage directory.

<file|command> can be either a JavaScript file path or a command. If a path is provided, the file is run with the node command.

$ coverage /path/to/entry-point.js # is the same as ↓
$ coverage node /path/to/entry-point.js

If the provided JavaScript path ends with .mjs,

Reporters

Users can override the default format of reports with --reporter option.

$ coverage example.js
------------|----------|----------|----------|----------|-------------------|
File        |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
------------|----------|----------|----------|----------|-------------------|
All files   |      100 |      100 |      100 |      100 |                   |
 example.js |      100 |      100 |      100 |      100 |                   |
------------|----------|----------|----------|----------|-------------------|

$ coverage --reporter=text-summary example.js

=============================== Coverage summary ===============================
Statements   : 100% ( 1/1 )
Branches     : 100% ( 1/1 )
Functions    : 100% ( 0/0 )
Lines        : 100% ( 1/1 )
================================================================================

$ coverage --reporter=none example.js # No reports

Codecov integration

When the execution exits with code 0 on a CI service or GitHub Actions, it automatically uploads the generated coverage to Codecov. Whether CODECOV_TOKEN environment variable is required or not varies between services.

$ coverage test.js

[... test results and coverage ...]

==> Travis CI detected.
==> Reading reports
    + /home/travis/build/shinnn/coverage/coverage/lcov.info bytes=1399
==> Gzipping contents
==> Uploading reports
    -> Uploading
    -> View reports at https://codecov.io/github/shinnn/coverage/commit/e4f5880b8ec5885e6a0b79030df5871e19d6de1d

c8 command-line options are supported. Run npx coverage --help to show the detailed reference for them.

coverage report

Output a report in the format specified in --reporter option.

This subcommand is only available after coverage has already been run.

License

ISC License © 2019 Shinnosuke Watanabe

版本列表
0.4.1 2019-06-12
0.4.0 2019-06-07
0.3.3 2019-05-26
0.3.2 2019-05-26
0.3.1 2019-05-05
0.3.0 2019-04-30
0.2.3 2019-04-29
0.2.2 2019-04-29
0.2.1 2019-04-29
0.2.0 2019-04-27
0.1.5 2019-04-18
0.1.4 2019-04-17
0.1.3 2019-04-17
0.1.2-1 2019-04-16
0.1.2-0 2019-04-16
0.1.2 2019-04-17
0.1.1 2019-04-15
0.1.0 2019-04-10
0.0.1-2 2019-04-08
0.0.1-1 2019-04-07
0.0.1-0 2019-04-07
0.0.0 2011-02-24