首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chutzpah覆盖范围小于100% (由于私有方法?)

Chutzpah覆盖范围小于100% (由于私有方法?)
EN

Stack Overflow用户
提问于 2016-05-18 11:47:23
回答 1查看 143关注 0票数 2

我使用Chutzpah测试我的JavaScript测试覆盖率。下面是运行单个测试文件referenceFigureEdit.spec.js时覆盖率结果的一个示例

我预计覆盖率是100%,但只有91.07%。

单击第一行,我可以详细检查我的测试代码。突出显示“测试未涵盖”的行:

问题A

我怎样才能

  • 告诉Chutzpah那些方法已经被实际执行或者
  • 告诉Chutzpah不要在覆盖结果中包括这些行?

是否对代码必须在何处/何时执行才能成为成功覆盖率的一部分有一些限制?我在我的信息技术方法中给代表们打电话。在测试模块的构建过程中,是否已经需要调用它们?

我的测试代码定义了一些传递给构造函数的委托方法(例如"showErrors") (例如,新的saveCommand(.,showErrors))。将突出显示委托的方法声明,而不将其包含在覆盖率中。但是,这些代表实际上是在测试期间执行的,我预计覆盖率将达到100 %。

即使showErrors委托中的代码是私有的,我也想测试它(是否应该测试私有方法,这不是我的问题)。为了在测试中执行委托,我模拟saveCommand。模拟的saveCommand发布传递的委托,在测试中我显式地调用它:

代码语言:javascript
复制
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%的目的是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-05-19 21:49:07

我可以回答问题A:您可以使用chutzpah.json文件来指定排除:"CodeCoverageExcludes":"path1“、"path2”、"path3“、”等等“,据我所知,您只能排除文件,但不能排除特定的行。

更新:是的,blanket.js是默认的代码覆盖工具,它只排除在文件级别。

问题B我也想弄清楚。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37298684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档