Javascript Chutzpah覆盖率小于100%(由于私人方法?)
我使用Chutzpah测试我的JavaScript测试覆盖率。下面是运行单个测试文件时覆盖率结果的示例referenceFigureEdit.spec.js: 我希望覆盖率是100%,但只有91.07% 单击第一行,我可以详细检查我的测试代码。突出显示“未被测试覆盖”的行: 问题A: 我怎么能Javascript Chutzpah覆盖率小于100%(由于私人方法?),javascript,jasmine,chutzpah,test-coverage,blanket.js,Javascript,Jasmine,Chutzpah,Test Coverage,Blanket.js,我使用Chutzpah测试我的JavaScript测试覆盖率。下面是运行单个测试文件时覆盖率结果的示例referenceFigureEdit.spec.js: 我希望覆盖率是100%,但只有91.07% 单击第一行,我可以详细检查我的测试代码。突出显示“未被测试覆盖”的行: 问题A: 我怎么能 告诉Chutzpah这些方法实际上已经被执行或者 告诉Chutzpah不要在覆盖结果中包含这些行 对于代码必须在何处/何时执行才能成为成功覆盖的一部分,是否有一些限制?我在我的it方法中调用代理。
- 告诉Chutzpah这些方法实际上已经被执行或者
- 告诉Chutzpah不要在覆盖结果中包含这些行
sut.saveCommand.__showErrors();
expect(showAllMessagesSpy).toHaveBeenCalled();
测试成功执行,对我来说很好。然而,覆盖率结果并不像预期的那样
问题B:
引用文件errorhandler.js的主要覆盖率结果显示覆盖率为27.59%。我还没有对errorhandler.js进行测试。这个数字是否意味着errorhandler.js的现有29条语句中有8条是在执行我的主文件referenceFigureEdit.js时执行的?我的主文件直接引用errorhandler.js,但不直接引用utils.js。我在哪里可以找到一些关于如何正确解释这些“子编号”的文档,以及47.66%总数的目的是什么 我可以回答问题A:您可以使用chutzpah.json文件指定排除: “CodeCoverageExcludes”:[“path1”、“path2”、“path3”、“etc”]据我所知,您只能排除文件,但不能排除特定行 更新:是的,blanket.js是默认的代码覆盖工具,它只在文件级别排除
问题B我也在试图弄清楚。我使用文件excludes告诉Chutzpah排除外部库,也排除测试助手模块。排除不能为a提供解决方案。Chutzpah配置文件中的其他选项似乎也不能提供影响特定方法覆盖率的方法。是的,如果不编写自己的代码覆盖率工具,我认为您无法排除特定方法。