mocha-phantomjs-istanbul v0.0.2
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.
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.