【问题标题】:Exclude function (not an entire file) from JavaScript code coverage从 JavaScript 代码覆盖中排除函数(不是整个文件)
【发布时间】:2014-01-06 16:10:35
【问题描述】:

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

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

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

【问题讨论】:

    标签: jasmine karma-runner istanbul


    【解决方案1】:

    Istanbul 背后的人似乎增加了对从覆盖分析中忽略特定代码部分的支持。真的很有用!

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

    【讨论】:

      【解决方案2】:

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

      /* 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
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          这个功能真的被使用了吗?如果没有,您可以评论它或完全删除它。但是如果这个函数是有原因的,那么让代码覆盖率结果指出这个函数没有经过测试!

          否则,你能把这个特定的函数放在它自己的文件中,然后从伊斯坦布尔排除这个文件吗?

          【讨论】:

            猜你喜欢
            • 2017-02-12
            • 2016-07-09
            • 2013-01-01
            • 1970-01-01
            • 2022-10-21
            • 1970-01-01
            • 2023-03-16
            • 2016-02-26
            • 1970-01-01
            相关资源
            最近更新 更多