给定以下 Junit5 测试类,我如何并行运行 upperCaseTest
和 lowerCaseTest
,同时每个测试方法中的参数化运行按顺序运行。换句话说,“A”、“B”和“C”应该依次运行,“x”、“y”、“z”应该依次运行,但“A”和“x”应该能够并行运行.
@Execution(ExecutionMode.CONCURRENT)
class ParallelParameterizedTest {
@ParameterizedTest
@ValueSource(strings = {"A", "B", "C"})
void upperCaseTest(String s) {
assertEquals(s.toUpperCase(), s);
}
@ParameterizedTest()
@ValueSource(strings = {"x", "y", "z"})
void lowerCaseTest(String s) {
assertEquals(s.toLowerCase(), s);
}
}
我的junit-platform.properties文件如下:
junit.jupiter.execution.parallel.enabled = true
junit.jupiter.execution.parallel.config.strategy = fixed
junit.jupiter.execution.parallel.config.fixed.parallelism = 2
实际行为是所有测试并行运行。
Junit5 的 Gitter 页面 (https://gitter.im/junit-team/junit5?at=6005fe8fac653a0802c8c258) 上有一个正在进行的线程