【发布时间】:2014-12-26 20:47:24
【问题描述】:
在调查 Groovy 和 Spock 测试时,我遇到了两种捕获异常的方法:shouldFail 和 thrown。
这两种断言异常的方式之间有真正的区别吗?看起来shouldFail 更像 JUnit 风格,thrown 更像 Spock,但除此之外,我找不到任何关于它们之间差异或最佳实践的描述。
谢谢。
【问题讨论】:
标签: unit-testing groovy junit spock
在调查 Groovy 和 Spock 测试时,我遇到了两种捕获异常的方法:shouldFail 和 thrown。
这两种断言异常的方式之间有真正的区别吗?看起来shouldFail 更像 JUnit 风格,thrown 更像 Spock,但除此之外,我找不到任何关于它们之间差异或最佳实践的描述。
谢谢。
【问题讨论】:
标签: unit-testing groovy junit spock
Spock 方式是thrown。 GroovyTestCase 方式是shouldFail。 Spock 不能使用后者。
【讨论】:
GroovyAssert#shouldFail。 (为什么你让我们猜测?)我看不出将它与 Spock 一起使用的意义。
如果我只关心抛出异常,我倾向于使用
thrown(SomeException)
如果我想检查异常的某些属性,我倾向于使用
SomeException ex = thrown()
不知道你说的应该失败是什么意思
【讨论】: