我是编写单元测试的新手,我正在为我的机器人代码编写单元测试。 我有这个部分困扰我:
const accessToken = (() => {
if (process.argv.length !== 3) {
console.log('usage: node main/implementation');
process.exit(1);
}
return process.argv[2];
})();
伊斯坦布尔告诉我这条线return process.argv[2];
没有被覆盖,但我不知道为该线编写单元测试。
有什么想法吗?
答案 0 :(得分:1)
如果伊斯坦布尔说未涵盖此行,则表示所有测试用例都匹配
process.argv.length !== 3
所以你的测试都没有进入这一行
return process.argv[2];
在修复之前,您应该问自己是否与此行添加测试相关(并非总是需要100%的覆盖率)。
如果你想修复它,也许你可以尝试设置process.argv的值。 (这只是一个想法,我不确定你可以像这样设置process.argv的值)。这是一个伪代码
const fakeArgv = [1, 2, 3];
process.argv = fakeArgv;
it('should return third argv', () => {
expect(accessToken).to.equal(3)
})