#java #junit #junit5 #junit-jupiter
#java #junit #junit5 #junit-jupiter
Вопрос:
Учитывая следующий тестовый класс 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
Фактическое поведение заключается в том, что все тесты выполняются параллельно.
На странице Gitter Junit5 есть постоянный поток (https://gitter.im/junit-team/junit5?at=6005fe8fac653a0802c8c258 )
Комментарии:
1. Каково ваше фактическое поведение? Я думаю, что эта конфигурация должна работать нормально.
2. @amseager обновил вопрос. Спасибо!