我试图找到的是,当断言位于“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)
Code:
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
}
}
关于groovy - 有没有办法获取在Spock中使用 "with"子句时导致失败的具体语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21467061/