gpt4 book ai didi

node.js - 涵盖 Istanbul 尔和 Mocha/柴的功能

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:18 28 4
gpt4 key购买 nike

我无法理解如何对函数进行单元测试,以便 Istanbul 尔认为它们已被覆盖。

举一个非常简单的例子,我创建了这个数学模块:

var add = function( one, two ){
return one + two;
}

module.exports = {
add: add
};

和基本单元测试:

var chai = require('chai');
var expect = chai.expect;

describe('add() method', function(){
it('should do math', function(){
expect( some.add(1, 1) ).to.equal(2);
});
});

Istanbul 尔制作的报告给了我以下结果:

  • 声明:66.67% (2/3)
  • 分支:100% (0/0)
  • 函数:0% (0/1)
  • 线条:66.67% (2/3)
  • 忽略:无

enter image description here

如果简单地测试调用函数的结果并不能算作覆盖率,那么当代码位于单元测试无法访问的函数范围内时,您应该如何测试此代码?

最佳答案

与所有最棘手的问题一样,这是由一些愚蠢且不相关的事情引起的。

我通过 grunt 运行 istanbul 并使用 env 解决方法,因此在检查覆盖范围时使用正确的目录。就像这样:

env: {
coverage: {
APP_DIR_FOR_CODE_COVERAGE: '../test/coverage/instrument/app/'
}
},

grunt-istanbul documentation所示

问题是我忘记在为运行覆盖率测试而创建的任务中包含 env:coverage

无论如何,如果您遇到同样的问题,您可能也做了一些非常愚蠢的事情。

关于node.js - 涵盖 Istanbul 尔和 Mocha/柴的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22469342/

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