JSPM

mocha-phantomjs-istanbul

0.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1717
  • Score
    100M100P100Q121993F
  • License MIT

collect istanbul coverage from instrumented client-side Mocha tests with PhantomJS

Package Exports

  • mocha-phantomjs-istanbul

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

Readme

mocha-phantomjs-istanbul

Collect istanbul coverage stats from client-side Mocha tests with PhantomJS using mocha-phantomjs.

Collects coverage data from a istanbul-instrumented test suite run in the browser and saves it to a .json file for further processing (for example with gulp-istanbul-report).

Works as a hook into mocha-phantomjs. See these discussions for more info: https://github.com/metaskills/mocha-phantomjs/issues/99, https://github.com/metaskills/mocha-phantomjs/pull/113.

Build Status

Installation

$ npm install mocha-phantomjs-istanbul --save-dev

Usage

You'll need to specify two things when running mocha-phantomjs:

  • this module as the hook to use
  • the destination file for the coverage info. This is passed as an option to mocha-phantomjs. It's a bit of a hack, because it's not an option mocha-phantomjs actually recognizes, but this allows our hook to find it again.

shell

You'll probably not be running this from the command line, but you could:

phantomjs ./node_modules/mocha-phantomjs/lib/mocha-phantomjs.coffee test-runner.html spec '{"hooks": "mocha-phantomjs-istanbul", "coverageFile": ".coverage.json"}'

gulp

It's more likely you'll run this from gulp with gulp-mocha-phantomjs. The options get passed through using phantomjs.

var mochaPhantomJS = require('gulp-mocha-phantomjs');

gulp.task('test', function () {
  gulp.src('test-runner.html', {read: false})
    .pipe(mochaPhantomJS({
      phantomjs: {
        hooks: 'mocha-phantomjs-istanbul',
        coverageFile: './coverage/coverage.json'
      },
      reporter: 'spec'
  }));
});

What to do with the coverageFile?

Use it with some other plugin to turn the JSON file into a full report. If you use gulp, you could use gulp-istanbul-report.

License

MIT License