Maven Surefire: невозможно выполнить параллельное выполнение теста

Используя Maven surefire, я не могу выполнить параллельное выполнение теста. То есть каждый из моих тестовых примеров должен запускаться в отдельной JVM, отсюда и разветвление. Кроме того, я хочу, чтобы мои тестовые примеры выполнялись параллельно. первая часть работает без проблем: я могу запускать каждый тестовый пример в отдельной JVM. Однако вторая часть все еще остается для меня проблемой. Мне не удалось заставить работать параллельное выполнение тестовых случаев. Вот как выглядит мое объявление плагина:

    <plugin>
          <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.5</version>
      <configuration>
           <parallel>methods</parallel>
           <forkMode>always</forkMode>
                <argLine>-Xms512m -Xmx512m</argLine>
       </configuration>
</plugin>

Я пробовал и методы, и классы, но не видел никакого распараллеливания. Моя версия JUnit - 4.7, как показано в объявлении зависимости:

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>compile</scope>
    </dependency>            

Любая помощь будет очень полезна.

Gregoire.

8
задан Pascal Thivent 30 August 2010 в 22:25
поделиться

1 ответ

Убедитесь, что вы получили примерно такое сообщение в журнале

[INFO] Concurrency config is {perCoreThreadCount=false, threadCount=1, parallel=classes, configurableParallelComputerPresent=true}

Прямо перед этим заголовком:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------

Это сообщение указывает на то, что параллельный провайдер junit surefire активен.

Если это не так, то surefire может выбрать другую версию junit, чем вы думаете. Все, что ниже 4.7, работать не будет. Запустите mvn dependency:tree, чтобы проверить, какие версии присутствуют.

Вам также следует выполнить обновление до версии surefire 2.6, так как исправлен ряд мелких ошибок, связанных с параллельным выполнением. По той же причине вы должны использовать последнюю версию junit.

2
ответ дан 5 December 2019 в 11:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: