gpt4 book ai didi

node.js - 我怎样才能让 Istanbul 尔与 Node 、 Mocha 、 Jasmine 一起工作并需要 js

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:24 25 4
gpt4 key购买 nike

我有一个现有的测试套件,它使用 mocha、require 和 jasmine 在 node.js 中运行良好,测试通过 psake powershell 脚本运行。我正在尝试添加测试覆盖率,因此要运行单元测试而不是执行以下操作:

Node 单元测试.js

我在做

Istanbul 尔封面 unitTest.js

这似乎有效,但只提供了有关 unitTest.js 本身的覆盖信息,而不是项目中使用的任何其他实际 javascript 文件。我猜这是因为 require/mocha 组合,所以它不知道我正在使用的 js 文件。

我尝试在代码覆盖之前手动检测所有文件,并在复制/检测的文件上运行相同的命令,但得到了相同的结果。关于使这项工作有任何提示吗?

这是 unitTest.js 的最后一部分

    requirejs(['mocha'], function(Mocha) {
var mocha = new Mocha({reporter: (process.env['TEAMCITY_VERSION'] ? 'teamcity' : 'spec')});
// Hack to establish the global variables (sigh)
mocha.suite.emit('pre-require', global, __filename, mocha);

fswalk(__dirname, function(err, results) {
if (err)
console.warn(err);
else {
var testName = process.argv[2] || "";
console.log("testName: " + testName);
var inclusionSuffixes = [testName + '.test.js'];
var exclusionSuffixes = ['.integration.test.js'];
var tests = _.filter(results, function (result) {
var test = function (suffix) { return result.indexOf(suffix) == result.length - suffix.length; };
return _.any(inclusionSuffixes, test) && !_.any(exclusionSuffixes, test);
});
requirejs(tests, function () {
mocha.run(function(failures) {
process.exit(failures);
});
});
}
});

});

最佳答案

@user2576666 回答了评论中的问题:

“使用参数 --hook-run-in-context 使其正常工作”

关于node.js - 我怎样才能让 Istanbul 尔与 Node 、 Mocha 、 Jasmine 一起工作并需要 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19282578/

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