Наиболее очевидным является использование параметра параллельного интерфейса.Возможные значения зависят от используемого поставщика тестов.Для JUnit 4.7 и более поздних версий это могут быть методы, классы, наборы, suitesAndClasses, suitesAndMethods, classesAndMethods или все.В качестве предварительного условия в тестах JUnit, бегун JUnit должен расширить org.junit.runners.ParentRunner.Если в аннотации @ org.junit.runner.RunWith не указан ни один исполнитель, предварительное условие выполнено.
Значение both
устарело с момента подключения maven-surefire-plugin: 2.1.6.
Расширение параллелизма настраивается с использованием следующих параметров.Параметр useUnlimitedThreads допускает неограниченное количество потоков.Если только useUnlimitedThreads = true, параметр threadCount может использоваться с необязательным параметром perCoreThreadCount = true (по умолчанию true).Параметры useUnlimitedThreads и threadCount должны интерпретироваться в контексте значения, указанного для параллельного параметра.
Я рекомендую установить useUnlimitedThreads
в значение false и вместо этого экспериментировать с threadCount
.Начните с 10 и продолжайте идти вверх, пока не найдете приемлемый счетчик потоков, который не сильно нагружает ваш процессор.
Я взял это непосредственно из документации TestNG Surefire в качестве отправной точки:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<properties>
<property>
<name>parallel</name>
<value>methods</value>
</property>
<property>
<name>dataproviderthreadcount</name>
<value>30</value>
</property>
</properties>
</configuration>
</plugin>
Обратите внимание, что для параллельного выполнения методов тестирования необходимо, чтобы свойство dataproviderthreadcount
и свойство parallel
были установлены на methods
.