我有一个 Groovy Spock 方法,它具有以下模式:
def "My test"() {
def a = createA();
assert a.fieldLevel1.isValid()
def b = a.fieldLevel1
assert b.fieldLevel2.isValid()
def c = b.fieldLevel2
assert c.fieldLevel3.isValid()
...
}
正如您所看到的,由于断言和变量定义混合在一起,因此很难在块上打破它。编写这种测试的“spock”方法是什么?
更新:
测试具有以下结构,因为c.fieldLevel3.isValid()
is 实际上c.fieldLevel3 instanceof A
,所以如果该字段无效,我将无法继续。