期望中的Spock迭代索引:或者:在测试执行期间阻塞

时间:2016-06-14 06:52:02

标签: spock

考虑以下测试:

@Unroll
def 'demo test'() {
     expect:
          methodTest(inp) == res 
     where:
          inp || res
          "a" || true
          "b" || false 
}

此测试可能会导致:

demo test[0]
demo test[1]

我的问题是,有没有办法在测试执行期间获取这些迭代索引?更清楚的是,当第一个测试正在执行时,我想在期望中得到索引0:或者何时:阻止?

不确定Spock何时以及如何实际分配这些迭代索引。

2 个答案:

答案 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 
相关问题