考虑以下测试:
@Unroll
def 'demo test'() {
expect:
methodTest(inp) == res
where:
inp || res
"a" || true
"b" || false
}
此测试可能会导致:
demo test[0]
demo test[1]
我的问题是,有没有办法在测试执行期间获取这些迭代索引?更清楚的是,当第一个测试正在执行时,我想在期望中得到索引0:或者何时:阻止?
不确定Spock何时以及如何实际分配这些迭代索引。
答案 0 :(得分:0)
我对where子句的理解是spock没有迭代选项,在那里,它为每个选项创建一个单独的测试。
答案 1 :(得分:0)
您似乎无法从Spock推断出迭代次数。正如Deon所述,Spock会根据您的 where 块创建不同的规范。
你真的需要知道一个索引,你可以在 where 块中明确地写出来:
SELECT AVG(temperature), DATE(date), HOUR(date) FROM data GROUP BY DATE(date), HOUR(date)
如果您只是想知道您的实际参数,可以将它们包含在方法名称中:
where:
idx | inp || res
0 | "a" || true
1 | "b" || false