我正在使用geb,spock使用groovy,我在功能中使用多个块的功能。但是一个块失败而不是立即退出循环。 例如: -
def "test"(){
given:
println(" checking 3 nos")
when:
def a = 5
def b = 10
def c = 20
if (a < b)
println("Hi, I'm Pass")
then:
true
when:
def a1 = 5
def a2 = 10
def a3 = 20
if (a2 > a3)
println("Fail")
then:
false
when:
def a11 = 5
def a22 = 10
def a33 = 20
if (a33 > a11)
println("Hello, i'm pass")
then:
true
但是在这里它只重新运行Hi,我通过但没有执行第三个块,没有返回第二个块的答案。请指导我。
答案 0 :(得分:0)
如果你问如何在前一个失败后继续运行每一个,那么答案就是你不能。单个测试方法将在第一次失败时停止。如果您想进行单独的测试,请制作多种方法。
def 'test1'() {
when:
...
then:
...
}
def 'test2'() {
when:
...
then:
...
}
答案 1 :(得分:0)
这是不可能的。将代码拆分为多个测试,并在每个测试中使用/或阻止。
您还可以将一些设置代码移至<br>
和setupSpec()