4 Runforcover is a require-hook library that uses node-bunker to provide code coverage data
5 for your unit test library, whatever it might be.
9 var runforcover = require('runforcover');
11 var coverage = runforcover.cover([RegExp | path]);
14 Attach runforcover to the global `require` object and patch `require.extensions['.js']` to
15 provide coverage metadata for all files required after this point. Returns a function
16 object that can be called to obtain a object keying files to `CoverageData` objects, with
17 a method for releasing control back to vanilla `require`. Usage:
21 var coverage = runforcover.cover(/.*/g);
23 require('some/library');
25 coverage(function(coverageData) {
26 // coverageData is an object keyed by filename.
27 var stats = coverageData['/full/path/to/file.js'].stats()
29 // the percentage of lines run versus total lines in file
30 console.log(stats.percentage);
32 // the number of missing lines
33 console.log(stats.missing);
35 // the number of lines run (seen)
36 console.log(stats.seen);
38 // an array of line objects representing 'missed' lines
41 stats.lines.forEach(function(line) {
42 // the line number of the line:
43 console.log(line.number);
45 // returns a string containing the source data for the line:
46 console.log(line.source());
49 // return control back to the original require function