Подтвердить что ты не робот

Запуск тестов junit в intelliJ параллельно

Можно ли параллельно запускать тесты junit в intelliJ? Если да, то как это сделать?

Я установил параметр "fork" на уровень класса, и это ничего не делало - на самом деле это делало все немного медленнее, поэтому я не уверен, что "fork" делает это выгодно?

Можно ли это сделать только с помощью intelliJ, или мне нужна какая-то причудливая тестовая среда и все, что было бы связано с этим?

Наконец, если предположить, что это вообще возможно, можно ли управлять количеством вилок или потоков или тем, что они хотят назвать?

ОБНОВЛЕНИЕ: кто-то связался с вопросом, который мог бы ответить на этот вопрос. Я просмотрел этот вопрос до публикации - я не уверен, что этот вопрос действительно "отвечает". В нем просто говорится, что есть проблема, и эта проблема была реализована в intelliJ. Я не вижу, как его реализовать.

ОБНОВЛЕНИЕ: что означает "ничего не делал": оно просто замедляет работу, что не является полезным. Я имею в виду, может быть, ваши тесты выполняются быстро, и вы хотите замедлить их, чтобы оценить некоторые Баха? Это круто. Я просто хочу, чтобы мой бежал быстрее, я устал от Баха.

4b9b3361

Ответ 1

Вы можете использовать junit-toolbox. Это библиотека расширений для jUnit, которая указана на самом сайте jUnit.

Это расширение предлагает ParallelSuite. Благодаря этому вы без труда можете создать класс AllTest, который будет проводить тесты параллельно. Минимальный AllTest может выглядеть как код ниже, используя функцию шаблона, представленную в junit-toolbox.

@RunWith(ParallelSuite.class)
@SuiteClasses("**/*Test.class")
public class AllTests {}

Это создаст столько потоков для параллельного выполнения, что и ваши отчеты JVM через availableProcessors. Чтобы переопределить это, вы можете установить системное свойство maxParallelTestThreads.