Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 我怎样才能让istanbul使用node,mocha,jasmine和require js大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个现有的测试套件,使用mocha,require和jasmine在Node.js中运行正常,测试通过psake power shell脚本运行.我正在尝试添加测试覆盖率,因此要运行单元测试而不是执行:

node unitTest.js

我在做

伊斯坦布尔封面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(@R_259_4895@) {
                process.exit(@R_259_4895@);
            });
        });
    }
});

});

解决方法

@ user2576666在评论中回答了这个问题:

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

大佬总结

以上是大佬教程为你收集整理的node.js – 我怎样才能让istanbul使用node,mocha,jasmine和require js全部内容,希望文章能够帮你解决node.js – 我怎样才能让istanbul使用node,mocha,jasmine和require js所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。