Code coverage with Mocha and JSCoverage
Mocha is able to generate a code coverage report with a little help from JSCoverage
. Install JSCoverage for your environment from http://siliconforks.com/jscoverage/. JSCoverage will parse source code and generate an instrumented version; this enables mocha to execute this generated code and create a report. We will need to update ./app.js
.
module.exports = (process.env['NODE_ENV'] === "COVERAGE") ? require('./lib-cov/express') : require('./lib/express');
JSCoverage takes as arguments an input directory, and an output directory:
jscoverage lib lib-cov
Depending on your version of JSCoverage, you may need to add the –no-highlight
switch:
jscoverage lib lib-cov --no-highlight
The following command will generate the coverage report, as shown in the following screenshot:
NODE_ENV=COVERAGE mocha -R html-cov > coverage.html