Groovy 是否有方法获取在使用“时导致失败的特定语句?”;加上;斯波克条款
我试图找到的是,当断言位于“with”中时,如果有一种方法可以识别导致错误的特定断言 理想情况下,我希望看到两个测试的相同具体结果 给定测试的结果为: Condition not satisfied: testInstance.with { trueParam falseParam } | | | false SpockSpec$TestMe@1cf4af1e at SpockSpec.Does not provides specific failure(SpockSpec.groovy:10) Condition not satisfied: testInstance.falseParam // expected to fail | | | false SpockSpec$TestMe@24c2ffbc at SpockSpec.Provides specific failure(SpockSpec.groovy:19) 试一试Groovy 是否有方法获取在使用“时导致失败的特定语句?”;加上;斯波克条款,groovy,spock,Groovy,Spock,我试图找到的是,当断言位于“with”中时,如果有一种方法可以识别导致错误的特定断言 理想情况下,我希望看到两个测试的相同具体结果 给定测试的结果为: Condition not satisfied: testInstance.with { trueParam falseParam } | | | false SpockSpec$TestMe@1cf4af1e at SpockSpec.Does not provides specific
谢谢你的快速回复。您是否有描述此行为的链接。有趣的是,这只适用于Groovy类。获取Java类的错误。将不得不建立一个不同的样本。这是你正在寻找的@PranavShahIt应该适用于任何类,而不仅仅是Groovy类。@PeterNiederwieser我不知道我之前在做什么,但现在它确实起作用了。
import spock.lang.Specification
import spock.lang.Unroll
@Unroll
class SpockSpec extends Specification {
def testInstance = new TestMe(trueParam: true, falseParam: false)
def "Does not provides specific failure"() {
expect:
testInstance.with {
trueParam
falseParam
}
}
def "Provides specific failure"() {
expect:
testInstance.trueParam
testInstance.falseParam // expected to fail
}
class TestMe {
boolean trueParam, falseParam
}
}
def "Does not provides specific failure"() {
expect:
with( testInstance ) {
trueParam
falseParam
}
}