Package Exports
- coverage
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (coverage) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
coverage
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:
- Runs both
htmlandtextreporter by default - Automatically enables ECMAScript module support for
.mjsfiles - The first argument can be a JavaScript file path instead of a command
- Built-in Codecov support
Installation
npm install coverageOnce this package is installed to the project directory, users can execute coverage command inside npm scripts.
CLI
coverage [options] <file|command> [args]
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.jsIf the provided JavaScript path ends with .mjs,
- ECMAScript module mode is automatically enabled.
--es-module-specifier-resolutionis automatically set tonode.
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 reportsCodecov 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/e4f5880b8ec5885e6a0b79030df5871e19d6de1dc8 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