Можно ли настроить плагин surefire так, чтобы одни тесты выполнялись параллельно, а другие последовательно?
Также можно ли использовать surefire forkCount для запуска параллельных тестов, объявленных в jUnit Suite?
Можно ли настроить плагин surefire так, чтобы одни тесты выполнялись параллельно, а другие последовательно?
Также можно ли использовать surefire forkCount для запуска параллельных тестов, объявленных в jUnit Suite?
Вы можете использовать отдельные профили maven с двумя разными конфигурациями плагинов surefire.
Очень простой способ сделать это заключается в следующем:
configuration>
<includes>
<include>**/A01TestSuite.java</include>
<include>**/A02ServiceTestSuite.java</include>
<include>**/A03FlowTestSuite.java</include>
</includes>
<additionalClasspathElements>
<additionalClasspathElement>${webinf.dir}</additionalClasspathElement>
</additionalClasspathElements>
<systemPropertyVariables>
<log4j.configuration>file:${l4j.test}/log4j.test.properties</log4j.configuration>
</systemPropertyVariables>
<forkMode>always</forkMode>
<argLine>-Xms512m -Xmx512m</argLine>
<parallel>classes</parallel>
<threadCount>10</threadCount>
</configuration>
Вы можете добавить это в конфигурацию плагина maven-surefire в файле pom.xml.
<configuration>
<parallel>all</parallel>
<threadCount>10</threadCount>
<threadCountSuites>2</threadCountSuites>
<threadCountClasses>2</threadCountClasses>
<threadCountMethods>6</threadCountMethods>
<parallelTestTimeoutInSeconds>3.5</parallelTestTimeoutInSeconds>
<parallelTestTimeoutForcedInSeconds>5</parallelTestTimeoutForcedInSeconds>
<perCoreThreadCount>true</perCoreThreadCount>
<includes>
<include>**/FunctionTestSuite.java</include>
</includes>
</configuration>
Подробное объяснение можно найти по этой ссылке. Он дает полное пошаговое описание запуска тестов JUnit параллельно с surefire-maven-plugin.
Примечание. В этом фрагменте кода показаны все доступные параметры. Вы можете изменить или удалить некоторые параметры в соответствии с вашими потребностями!
<include>FunctionTestSuite.class</include>
неправильно. Должно быть <include>**/FunctionTestSuite.java</include>
или <include>FunctionTestSuite</include>
.
- person tibor17; 24.05.2020
parallelTestTimeoutForcedInSeconds
, если только это не тест производительности. Тайм-аут должен быть в 10 раз больше ожидаемого времени выполнения.
- person tibor17; 24.05.2020