gpt4 book ai didi

node.js - Grunt-Mocha-Test BlanketJS 覆盖率

转载 作者:搜寻专家 更新时间:2023-11-01 00:43:52 25 4
gpt4 key购买 nike

我正在尝试使用 GruntJS 的 grunt-mocha-test 插件设置代码覆盖率。我关注了this guide ,在“生成覆盖率”部分下。

但是,运行 grunt 会生成一个 coverage.html 报告,该报告仅覆盖了已运行的测试文件……而不是我的其他代码。

所以:

  1. 有人知道问题出在哪里吗?理想情况下,我不想使用其他 grunt 插件。
  2. 如何过滤我的所有 /test/** 文件以使其不包含在覆盖率报告中?

我的普通 mocha 测试通过 grunt 运行良好,只是覆盖率报告有问题。

BlanketJS 的文档在这里并没有真正的帮助。也许在需要消隐器时“选项”部分有什么?

这里是我的 gruntfile:

mochaTest: {
test: {
src: watchFiles.mochaTests,
options: {
reporter: 'spec',
require: ['server.js', 'app/tests/blanket.js']
}
},
coverage: {
src: watchFiles.mochaTests,
options: {
reporter: 'html-cov',
// use the quiet flag to suppress the mocha console output
quiet: true,
// specify a destination file to capture the mocha
// output (the quiet option does not suppress this)
captureFile: 'coverage.html'
}
}
},

这里是 blanketjs 包装器:

var path = require('path');
var srcDir = path.join(__dirname, '..');

require('blanket')({
// Only files that match the pattern will be instrumented
pattern: srcDir
});
console.log(srcDir);

src: watchFiles.mochaTests 只是上面的一个变量,用于保存要运行的测试数组。

最佳答案

万一有人来这里,我已经使用这样的配置解决了这个问题:

/*
* This is a wrapper to blanket.js used for grunt mocha tests
*/
var path = require('path');
var srcDir = path.join(__dirname, '..');
var antiFilter = path.join(__dirname, '..', 'tests');

require('blanket')({
// Only files that match the pattern will be instrumented
pattern: srcDir, 'data-cover-never': antiFilter
});

关键点是“data-cover-never”选项,它根据模式指定要过滤掉的内容。

关于node.js - Grunt-Mocha-Test BlanketJS 覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25393341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com