Но столкнулась с проблемой: при большом кол-ве тестов в сьюте тесты начинают падать с ошибкой Failed to create driver. Возможно это связано с большой очередью на запуск.
Тогда в пропертях поменяла параллельность тестов на параллельность тестовых классов:
junit.jupiter.execution.parallel.mode.default = same_thread
junit.jupiter.execution.parallel.mode.classes.default = concurrent
Очередей на запуск тестов на агенте стало меньше, ошибка ушла, но длительность увеличилась на 10-15мин. Под конец прогона на агенте крутятся 2-3 теста из классов где большое кол-во тестов.
Подскажите пожалуйста, что еще можно поменять не прибегая к дроблению тестовых классов и сьютов?
Немного оффтоп, а эти параметры ещё применяются при работе с junit5? Почему-то думал, что это от предыдущего junit4 осталось. Пробовал смотреть в официальных доках junit5 и maven-surefire-plugin, но не увидел там примеров их применения.
пробовала и без, но возможно что-то неправильно настроила.
Подскажите пожалуйста оптимальные параметры, чтобы было максимально эффективно распределить потоки
Вопрос по выбору оптимальных параметров не так прост, он скорее лежит в области эмпирики. Хотя и есть некие общие указания, но все они зависят от конкретной ситуации, среды выполнения (число ядер на процессоре, ос, версия jdk, параметры ее работы и т.д.) и выполняемой работы, в данном случае запуск тестов, которые также много от чего зависят, в том числе и от типа параллелизма и от величины методов в классе и от конкурентного доступа к общим ресурсам. Кстати, параллелить выполнение можно и иными средствами, не только таким способом.
В целом есть несколько неплохих статей, в том числе и на хабре по указанной теме, которые легко гуглятся, а также на всяких других платформах, типа того же stackoverflow или в личных блогах. Ну, и конечно же официальная документация у junit, наверное, одна из самых лучших и понятных и там тоже многое про это написано.
Вот лишь несколько быстро найденных ссылок по теме: