我有一个我想测试的Node应用程序,并获得覆盖率报告。我跟着Getting Started Guide,但它似乎不起作用。
我的来源,src/two.js
:
var two = 1 + 1;
module.exports = two;
我的测试,在test/two.js
:
var expect = require('expect');
var two = require('../src/two');
describe('two', function() {
it('should be 2', function(done) {
expect(two).toBe(2);
done();
});
});
我的package.json
:
{
"scripts": {
"test": "mocha",
"cover": "mocha -r blanket -R html-cov > coverage.html"
},
"devDependencies": {
"blanket": "^1.2.1",
"expect": "^1.13.4",
"mocha": "^2.3.4"
}
}
当我运行npm run test
时,一切都按照您的预期运作。但是当我运行npm run cover
时,在我的coverage.html
文件中,我得到 0%覆盖率0 SLOC ,而不是其他任何内容。
答案 0 :(得分:0)
我通过将其添加到package.json
:
...
"config": {
"blanket": {
"pattern": "src",
"data-cover-never": ["node_modules"]
}
},
...
显然Blanket 不默认为src
,尽管指南说明了(GitHub上有一个旧open issue)。
它还尝试覆盖与模式匹配的所有路径,而不仅仅是src
目录,因此在这种情况下它也试图覆盖外部文件(node_modules/has/src/index.js
,它是由期望)。我必须添加data-cover-never
以避免它。