我正在用 Jasmine 创建一些单元测试,我使用的测试运行器是 Karma。我还在使用 karma-coverage 插件检查这些测试规范的代码覆盖率。
我想知道是否有任何方法可以从代码覆盖范围本身以及 Karma 报告(实际上是伊斯坦布尔)中排除某些功能。我在想,如果第一个解决了,那么第二个也解决了。
很确定没有明显的方法可以做到这一点,因为我也看过伊斯坦布尔(业力覆盖使用它)但也许你们中的一些人以前遇到过这种情况。
我正在用 Jasmine 创建一些单元测试,我使用的测试运行器是 Karma。我还在使用 karma-coverage 插件检查这些测试规范的代码覆盖率。
我想知道是否有任何方法可以从代码覆盖范围本身以及 Karma 报告(实际上是伊斯坦布尔)中排除某些功能。我在想,如果第一个解决了,那么第二个也解决了。
很确定没有明显的方法可以做到这一点,因为我也看过伊斯坦布尔(业力覆盖使用它)但也许你们中的一些人以前遇到过这种情况。
似乎伊斯坦布尔背后的人增加了对从覆盖分析中忽略特定代码部分的支持。真的好用!
更多信息:https ://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md
使用下面的代码行忽略覆盖代码。
/* 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
有时您想忽略对当前正在使用的框架本身的测试。这通常是我需要这种功能的主要原因。
这个功能真的被使用了吗?如果没有,您可以评论它或完全删除它。但是如果这个函数是有原因的,那么让代码覆盖结果指出这个函数没有经过测试!
否则,你能把这个特定的函数放在它自己的文件中,然后从伊斯坦布尔排除这个文件吗?