你可以在数据表的方法中使用@Shared吗?

时间:2014-03-07 22:55:39

标签: spock

下面显示的是示例代码。 假设“hi”和“hello”是复杂的对象,必须在方法内部进行评估。

以下代码告诉我:

  

处理以退出代码-1

结束

预期结果是对已通过和失败的内容的“展开”解释。

代码:

import spock.lang.Shared
import spock.lang.Specification
import spock.lang.Unroll

@Unroll
class DataTableTest extends Specification {

    def "#actual should equal #expected"() {
        @Shared def hi = "hi"
        @Shared def hello = "hello"

        expect:
        actual == expected

        where:
        actual | expected
        hi     | hi
        hi     | hello
    }
}

1 个答案:

答案 0 :(得分:0)

我不认为您甚至可以在方法中定义共享变量,因为它们的目的是在其他方法中可重用,因为它们是高成本计算变量。尝试在类范围中设置共享变量。