Spock 可以在数据表的方法中使用@Shared吗
下面显示的是一个示例代码。 假设“hi”和“hello”是复杂的对象,必须在方法内部进行计算 下面的代码告诉我: 进程已完成,退出代码为-1 预期结果是对通过和失败的内容进行“展开”解释 代码:Spock 可以在数据表的方法中使用@Shared吗,spock,Spock,下面显示的是一个示例代码。 假设“hi”和“hello”是复杂的对象,必须在方法内部进行计算 下面的代码告诉我: 进程已完成,退出代码为-1 预期结果是对通过和失败的内容进行“展开”解释 代码: 我认为您甚至不能在方法中定义共享变量,因为它们的目的是在其他方法中可重用,因为它们是高成本计算变量。尝试在类范围中设置共享变量。这样定义@shared局部变量是没有意义的。@Shared注释仅对字段或属性有效。如果将hi和hello移动到特性方法之外,测试将执行。 import spock.lang.S
我认为您甚至不能在方法中定义共享变量,因为它们的目的是在其他方法中可重用,因为它们是高成本计算变量。尝试在类范围中设置共享变量。这样定义
@shared
局部变量是没有意义的。@Shared
注释仅对字段或属性有效。如果将hi
和hello
移动到特性方法之外,测试将执行。
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
}
}