Spock 的@Unroll 与@Stepwise
Spock's @Unroll vs. @Stepwise
假设我有一个 Specification
,里面有一个 @Unroll
测试
class MySpec extends Specification {
@Unroll
def "some test, executed n times, with n>1"() {
// when, then, where
}
}
注释MySpec
执行@Stepwise
会不会多余?这被视为一个测试(连续执行 n 次)还是 n 个测试(并行执行)?
@Stepwise
确保所有测试方法运行按照源文件中显示的顺序。
@Unroll
对于参数化测试很有用,因为它强制将单个测试方法中的所有测试场景报告为单个测试 运行s。
所以在你的情况下 @Stepwise
是多余的,所有 unrolled 测试都按照 where
子句中指定的顺序执行。
通常在 Spock 1.x 中,所有测试都在 行 中执行,甚至那些从 where
子句展开的测试。 Spock 2.0 计划并行化 - 正如您在此处看到的 https://github.com/spockframework/spock/issues/157
假设我有一个 Specification
,里面有一个 @Unroll
测试
class MySpec extends Specification {
@Unroll
def "some test, executed n times, with n>1"() {
// when, then, where
}
}
注释MySpec
执行@Stepwise
会不会多余?这被视为一个测试(连续执行 n 次)还是 n 个测试(并行执行)?
@Stepwise
确保所有测试方法运行按照源文件中显示的顺序。
@Unroll
对于参数化测试很有用,因为它强制将单个测试方法中的所有测试场景报告为单个测试 运行s。
所以在你的情况下 @Stepwise
是多余的,所有 unrolled 测试都按照 where
子句中指定的顺序执行。
通常在 Spock 1.x 中,所有测试都在 行 中执行,甚至那些从 where
子句展开的测试。 Spock 2.0 计划并行化 - 正如您在此处看到的 https://github.com/spockframework/spock/issues/157