mocha-phantomjs-istanbul

0.0.2 • Public • Published

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

Package Sidebar

Install

npm i mocha-phantomjs-istanbul

Weekly Downloads

2,486

Version

0.0.2

License

MIT

Last publish

Collaborators

  • willembult