从JavaScript代码覆盖中排除函数(不是整个文件)

时间:2013-12-18 12:57:54

标签: jasmine karma-runner istanbul

我正在使用Jasmine创建一些单元测试,而我正在使用的测试运行器是Karma。 我还使用karma-coverage插件检查这些测试规范的代码覆盖率。

我想知道是否有任何方法可以从代码覆盖范围本身以及Karma报告(实际上是伊斯坦布尔)中排除某些功能。 我想如果第一个问题解决了,那么第二个问题就解决了。

非常确定没有明显的方法可以做到这一点,因为我也在伊斯坦布尔看过(业力报道使用它),但也许你们中的一些人之前遇到过这种情况。

4 个答案:

答案 0 :(得分:14)

似乎伊斯坦布尔背后的人已经增加了对忽略覆盖率分析中特定代码部分的支持。真有用!

更多信息:https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md

答案 1 :(得分:0)

该功能实际上是否正在使用?如果没有,您可以对其进行评论或完全删除。但是如果有这个功能的原因,那么让代码覆盖结果指出你没有测试这个功能!

否则,您可以将此特定功能放入其自己的文件中并从istanbul中排除此文件吗?

答案 2 :(得分:0)

有时您想忽略您当前使用的框架本身的测试。这通常是我需要这种功能的主要原因。

答案 3 :(得分:0)

使用以下代码行忽略代码覆盖范围。

/* istanbul ignore if */      ---skips the "if thing" in the source code
/* istanbul ignore else */    ---skips the "else thing" in the source code
/* istanbul ignore next */    ---skips the "next thing" in the source code