Доброго времени суток, коллеги!
Столкнулась с проблемой во время оптимизации тестов, надеюсь что кто-то сможет помочь советом, возможно кому-то уже приходилось с таким сталкиваться.
Суть следующая: есть большой проект, очень много тестов, разбитых по классам, в итоге имею примерно 10 классов в которых от 2-15 тестов. Появилась проблема в длительном выполнении.
Решила попробовать оптимизировать при помощи плагинов maven, потому что с его помощью сейчас организован запуск. Нашла плагин который называется maven-surefire-plugin
. В нем есть такой параметр как parallel
и настройки all, classes, methods, threadCount, threadCountClasses, threadCountMethods…
оф. документация плагина http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html
Пробовала много вариантов, по методам, по классам, по методам и классам.
Но каждый раз я сталкивалась с одной и той же проблемой - создается намного больше потоков чем я указываю.
Например я указываю распараллелить по методам (это в моем случае был бы лучший вариант, потому что по классам не будет такого эффекта, так как в одном классе может быть 1-2 теста в другом 15)
Я настраиваю запуск так
<configuration>
<perCoreThreadCount>false</perCoreThreadCount>
<parallel>methods</parallel>
<threadCount>4</threadCount>
</configuration>
Пробовала с параметром threadCountMethods
, аналогично и с классами…
Использую Junit 4.12
Но каждый раз запускается не 4 экземпляра, а штук 12. Компьютер виснет и ни о каком ускорении тестов естественно не идет и речи…
Не могу понять что я делаю не так, что я упускаю? возможно я не так поняла принцип? Почему запускается такое большое количество тестов?
Если кто-то сталкивался с таким помогите пожалуйста разобраться!
Заранее спасибо!!