说我有一个Specification
,里面有一个@Unroll
测试
class MySpec extends Specification {
@Unroll
def "some test, executed n times, with n>1"() {
// when, then, where
}
}
注释MySpec
待执行@Stepwise
是否多余?这是作为一个测试(连续执行n次)还是作为n个测试(并行执行)?
答案 0 :(得分:2)
@Stepwise
确保所有测试方法都按照源文件中显示的顺序运行。
@Unroll
对于参数化测试很有用,因为它会强制将单个测试方法中的所有测试方案都报告为单独的测试运行。
因此,在您的情况下,@Stepwise
是多余的,并且所有展开的测试均按照where
子句中指定的顺序执行。
通常在Spock 1.x中,所有测试都是在行中执行的,甚至是从where
子句中展开的测试。 Spock 2.0已计划并行化-如您在此处看到的https://github.com/spockframework/spock/issues/157