给定以下 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)