【问题标题】:`shouldFail` vs. `thrown``shouldFail` 与 `throw`
【发布时间】:2014-12-26 20:47:24
【问题描述】:

在调查 Groovy 和 Spock 测试时,我遇到了两种捕获异常的方法:shouldFailthrown

这两种断言异常的方式之间有真正的区别吗?看起来shouldFail 更像 JUnit 风格,thrown 更像 Spock,但除此之外,我找不到任何关于它们之间差异或最佳实践的描述。

谢谢。

【问题讨论】:

    标签: unit-testing groovy junit spock


    【解决方案1】:

    Spock 方式是thrownGroovyTestCase 方式是shouldFail。 Spock 不能使用后者。

    【讨论】:

    • 其实我用的是Spock的后者。
    • 那么您可能正在使用GroovyAssert#shouldFail。 (为什么你让我们猜测?)我看不出将它与 Spock 一起使用的意义。
    【解决方案2】:

    如果我只关心抛出异常,我倾向于使用

    thrown(SomeException)
    

    如果我想检查异常的某些属性,我倾向于使用

    SomeException ex = thrown()
    

    不知道你说的应该失败是什么意思

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-01
      • 2018-02-19
      • 2019-04-15
      • 1970-01-01
      • 2018-02-27
      • 2018-05-30
      • 2012-06-04
      • 2015-10-28
      相关资源
      最近更新 更多