【问题标题】:How to ignore branch coverage for missing 'else'如何忽略缺少“其他”的分支覆盖
【发布时间】:2015-10-31 05:29:00
【问题描述】:

是否可以忽略伊斯坦布尔分支覆盖中的标记E

我正在使用 Jasmine+karma+Istanbul。是否有可能进入E 并获得 100% 的分支覆盖率?

也许是一个可以在配置中设置的属性?

这是覆盖结果的示例

【问题讨论】:

    标签: unit-testing istanbul


    【解决方案1】:

    您可以在if 语句之前使用/* istanbul ignore else*/ 来忽略缺少的else

    【讨论】:

      【解决方案2】:

      如果您不希望 cmets 到处都是,您还可以设置另一个测试,您实际上会遇到其他问题。

      如果你有这样的事情:

      _method: function () {
        if (this.foo === 'foo') {
          this.bar = false
        }
      }
      

      您只需要创建一个测试,其中this.foo 不等于'foo'。

      【讨论】:

      • 是的,谢谢.. 但在某些情况下,创建测试似乎很困难(即 promise catch(e) ..if { validation error.. } else { next(e) }. the else块正在拾取任何其他类型的错误并将它们传递给下一个中间件错误处理程序......感谢任何指向它的链接
      【解决方案3】:

      您可以使用/* istanbul ignore else */ 告诉伊斯坦布尔不要将其包含在报道中。

      /* istanbul ignore else */
      if (props.onChange) {
          props.onChange(event);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-11
        • 1970-01-01
        • 2015-09-22
        • 1970-01-01
        • 1970-01-01
        • 2013-07-01
        相关资源
        最近更新 更多