JSPM

  • Created
  • Published
  • Downloads 8505445
  • Score
    100M100P100Q205707F
  • License ISC

a code coverage tool that works well with subprocesses.

Package Exports

  • nyc
  • nyc/bin/nyc
  • nyc/bin/nyc.js
  • nyc/package
  • nyc/package.json

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 (nyc) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

nyc

Build Status Coverage Status NPM version

a code coverage tool built on istanbul that works well for applications that spawn subprocesses.

Instrumenting Your Code

Simply run your tests with nyc, and it will collect coverage information for each process and store it in nyc_output:

nyc npm test

If you're so inclined, you can simply add nyc to the test stanza in your package.json:

{
  "script": {
    "test": "nyc tap ./test/*.js"
  }
}

Running Reports

Once you've run your tests with nyc, simply run:

nyc report

To view your coverage report:

--------------------|-----------|-----------|-----------|-----------|
File                |   % Stmts |% Branches |   % Funcs |   % Lines |
--------------------|-----------|-----------|-----------|-----------|
   ./               |     85.96 |        50 |        75 |     92.31 |
      index.js      |     85.96 |        50 |        75 |     92.31 |
   ./test/          |     98.08 |        50 |        95 |     98.04 |
      nyc-test.js   |     98.08 |        50 |        95 |     98.04 |
   ./test/fixtures/ |       100 |       100 |       100 |       100 |
      sigint.js     |       100 |       100 |       100 |       100 |
      sigterm.js    |       100 |       100 |       100 |       100 |
--------------------|-----------|-----------|-----------|-----------|
All files           |     91.89 |        50 |     86.11 |     95.24 |
--------------------|-----------|-----------|-----------|-----------|

you can use any reporters that are supported by istanbul:

nyc report --reporter=lcov

Integrating With Coveralls

coveralls.io is a great tool for adding coverage reports to your GitHub project. Here's how to get nyc integrated with coveralls and travis-ci.org:

  1. add the coveralls and nyc dependencies to your module:
npm install coveralls nyc --save
  1. update the scripts in your package.json to include these bins:
{
  "script": {
    "test": "nyc tap ./test/*.js",
    "coverage": "nyc report --reporter=text-lcov | coveralls",
  }
}
  1. add the environment variable COVERALLS_REPO_TOKEN to travis, this is used by the coveralls bin.

  2. add the following to your .travis.yml:

after_success: npm run coverage

That's all there is to it!