仅运行一次测试设置

时间:2013-10-23 05:01:56

标签: groovy spock

给定下面的spock测试,setup块对where块中的每个数据元素运行一次。我可以让它只运行一次吗?

setup:
def x = 1

when:
x++

then:
x == y

where:
y << [2, 3, 4]

1 个答案:

答案 0 :(得分:2)

只需使用@Shared注释并将 x 声明为类字段。该值将在要素方法执行之间重复使用(在多个要素方法之间)。

class SomeSpockSpec extends Specification {

    @Shared def x = 1

    def 'x going to be incremented'() {
            when:
            x++

            then:
            x == y

            where:
            y << [2, 3, 4]
    }
}