Тесты занимают больше времени, чем указано, используя maven surefire - PullRequest
0 голосов
/ 14 октября 2019

У меня есть все свойства тайм-аута, заданные в моем pom.xml.

    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <version>3.0.0-M3</version>
       <configuration>              
          <forkCount>${surefire.forkNumber}</forkCount>
          <reuseForks>false</reuseForks>
          <argLine>-Xmx2G -XX:MaxMetaspaceSize=2G </argLine>
          <parallel>methods</parallel>
          <threadCount>${surefire.threadCount}</threadCount>
          <forkedProcessTimeoutInSeconds>40s</forkedProcessTimeoutInSeconds>
          <forkedProcessExitTimeoutInSeconds>40s</forkedProcessExitTimeoutInSeconds>
          <parallelTestsTimeoutInSeconds>30s</parallelTestsTimeoutInSeconds>
          <parallelTestsTimeoutForcedInSeconds>30s</parallelTestsTimeoutForcedInSeconds> 
       </configuration>
    </plugin>

Но я все еще вижу, что некоторые тесты занимают больше времени, чем 40 с (один тест даже занимает 17 минут). В чем может быть причина? Как я могу принудительно установить тайм-аут на 30 с?

1 Ответ

0 голосов
/ 14 октября 2019

В документе указано, что вы должны включить опцию

параллельно

Вы должны установить <parallelTestTimeoutForcedInSeconds>5</parallelTestTimeoutForcedInSeconds>, чтобы принудительно запустить текущий тайм-аут.

Если вы используете

parallelTestTimeoutInSeconds

, только потоки в очереди будут остановлены для выполнения

См .: http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html

...