Thank you. That looked promising but alas, I get the same result. I tried those 
with and without the other surefire configurations for running parallel tests. 
I also tried (from browsing the web) the maven-failsafe-plugin with the various 
configurations and get the same result with that too.

From: Laird Nelson <ljnel...@gmail.com>
Date: Tuesday, February 16, 2021 at 2:56 PM
To: Maven Users List <users@maven.apache.org>
Subject: Re: Maven surefire plugin: parallel configuration not running tests in 
parallel
JUnit5 does this in a strange way and they don't make it obvious.

Try a recipe like this:

<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <!-- See
https://urldefense.proofpoint.com/v2/url?u=https-3A__junit.org_junit5_docs_current_user-2Dguide_-23running-2Dtests-2Dbuild-2Dmaven-2Dconfig-2Dparams&d=DwIFaQ&c=0hefKdg9jtsMu47wpF0ovg&r=qyxGgg8iek4zUTwPHqQd2x5bP20ZI2bxMqb2S9cASmw&m=l4pkyWdpKGZmIkAgh8BX_Pucc2XXQLIcXqoMUG2MLQc&s=ly004EeXTTgP9RnraxBT0AWubBsJcj2XEfZFagpEdHo&e=
 -->
    <!-- See
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_maven-2Dsurefire_blob_418aa89724442f5f03b00e0616ec6f1b31fa0bfa_surefire-2Dproviders_surefire-2Djunit-2Dplatform_src_main_java_org_apache_maven_surefire_junitplatform_JUnitPlatformProvider.java-23L242-2DL262&d=DwIFaQ&c=0hefKdg9jtsMu47wpF0ovg&r=qyxGgg8iek4zUTwPHqQd2x5bP20ZI2bxMqb2S9cASmw&m=l4pkyWdpKGZmIkAgh8BX_Pucc2XXQLIcXqoMUG2MLQc&s=e3eSYckZYpBF906YkQulBeZS7nrVlnVZMiYZX6ZZdho&e=
 -->
    <!-- See
https://urldefense.proofpoint.com/v2/url?u=https-3A__junit.org_junit5_docs_current_user-2Dguide_-23writing-2Dtests-2Dparallel-2Dexecution&d=DwIFaQ&c=0hefKdg9jtsMu47wpF0ovg&r=qyxGgg8iek4zUTwPHqQd2x5bP20ZI2bxMqb2S9cASmw&m=l4pkyWdpKGZmIkAgh8BX_Pucc2XXQLIcXqoMUG2MLQc&s=-wsdm_kKYbc0OhOUQt3lwxykT-ZuzBx9Mdqz9fpfCrE&e=
-->
    <properties>
      <configurationParameters>
        junit.jupiter.execution.parallel.enabled=true
        junit.jupiter.execution.parallel.mode.default=concurrent
      </configurationParameters>
    </properties>
  </configuration>
</plugin>

Best,
Laird

On Tue, Feb 16, 2021 at 2:04 PM Jay Crosley <jcros...@axon.com> wrote:

> I’m trying to get junit5 tests to run in parallel using the maven surefire
> plugin, as described on
> https://urldefense.proofpoint.com/v2/url?u=https-3A__maven.apache.org_surefire_maven-2Dsurefire-2Dplugin_examples_fork-2Doptions-2Dand-2Dparallel-2Dexecution.html&d=DwIFaQ&c=0hefKdg9jtsMu47wpF0ovg&r=qyxGgg8iek4zUTwPHqQd2x5bP20ZI2bxMqb2S9cASmw&m=l4pkyWdpKGZmIkAgh8BX_Pucc2XXQLIcXqoMUG2MLQc&s=BDHGeYlib1BtRqkGRGkKw-wJorLBhcO0-Dh6mODYUhY&e=
>  .
> Despite configuration that looks correct, I can’t get them to run in
> parallel. I’ll paste my configuration and what I’ve tried and experienced
> so far. Any help is greatly appreciated!
>
> My surefire plugin configuration looks like this:
>
>
> <plugin>
>   <groupId>org.apache.maven.plugins</groupId>
>   <artifactId>maven-surefire-plugin</artifactId>
>   <version>2.21.0</version>
>   <dependencies>
>     <dependency>
>       <groupId>org.junit.platform</groupId>
>       <artifactId>junit-platform-surefire-provider</artifactId>
>       <version>1.2.0</version>
>     </dependency>
>     <dependency>
>       <groupId>org.junit.jupiter</groupId>
>       <artifactId>junit-jupiter-engine</artifactId>
>       <version>5.2.0</version>
>     </dependency>
>   </dependencies>
> </plugin>
>
> And I have a maven profile setup with additional configuration for our
> integration tests, which includes the parallel configuration. The commented
> out configurations indicate all the things I’ve tried.
>
>
> <profile>
>   <id>integration-tests-local</id>
>   <build>
>     <plugins>
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <version>${surefire.version}</version>
>         <configuration>
>           <parallel>classes</parallel>
>           <threadCount>4</threadCount>
>           <useUnlimitedThreads>true</useUnlimitedThreads>
>           <!--
> <useUnlimitedThreads>true</useUnlimitedThreads>-->
>           <!--              <threadCountClasses>4</threadCountClasses>-->
>           <!--              <threadCountMethods>4</threadCountMethods>-->
>           <!--              <threadCountSuites>4</threadCountSuites>-->
>           <!--              <threadCount>4</threadCount>-->
>           <parallelOptimized>false</parallelOptimized>
>           <!--
> <parallelMavenExecution>true</parallelMavenExecution>-->
>           <perCoreThreadCount>false</perCoreThreadCount>
>           <excludes>
>             <exclude>none</exclude>
>           </excludes>
>           <includes>
>             <include>**/*IntegrationTests*.java</include>
>           </includes>
>         </configuration>
>       </plugin>
>     </plugins>
>   </build>
>
> The project is structured with a parent pom.xml and several sub-projects.
> The tests are in the “integration-tests” module, which pulls in the
> surefire plugin with no additional configuration:
>
>
> <plugin>
>   <artifactId>maven-surefire-plugin</artifactId>
> </plugin>
>
> I mention the sub-project because it means that the maven command I’m
> running looks like this (I’ve tried with/without the “-T”):
>
>
> mvn -T 4 test -e -pl integration-tests -am -Pintegration-tests-local
>
> For the purposes of debugging, I’ve created 10 .java files named
> TestIntegrationTests1.java through TestIntegrationTests10.java, each of
> which has 10 unit tests all of which look like this:
>
>
> package com.axon.scorpius.integration_tests;
>
> import static org.junit.jupiter.api.Assertions.assertTrue;
>
> import org.junit.jupiter.api.Test;
>
> /**
>  * Tests.
>  */
> public class TestIntegrationTests1 {
>
>   @Test
>   void test1() {
>     try {
>       Thread.sleep(1000);
>     } catch (InterruptedException ex) {
>       System.out.println("Interrupted exception: " + ex);
>     }
>
>     assertTrue(true);
>   }
>
>
>
> … 9 identical tests
>
> My hope is that when I run “mvn test” (I’m running locally in iTerm on a
> Macbook), these 10 test classes will run in parallel (at least partially),
> but they run serially, as seen here:
>
> INFO] -------------------------------------------------------
> [INFO]  T E S T S
> [INFO] -------------------------------------------------------
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests4
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.057 s - in com.axon.scorpius.integration_tests.TestIntegrationTests4
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests6
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.029 s - in com.axon.scorpius.integration_tests.TestIntegrationTests6
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests10
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.025 s - in com.axon.scorpius.integration_tests.TestIntegrationTests10
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests2
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.027 s - in com.axon.scorpius.integration_tests.TestIntegrationTests2
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests7
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.032 s - in com.axon.scorpius.integration_tests.TestIntegrationTests7
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests5
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.027 s - in com.axon.scorpius.integration_tests.TestIntegrationTests5
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests1
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.032 s - in com.axon.scorpius.integration_tests.TestIntegrationTests1
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests3
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.036 s - in com.axon.scorpius.integration_tests.TestIntegrationTests3
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests9
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.013 s - in com.axon.scorpius.integration_tests.TestIntegrationTests9
> [INFO] Running com.axon.scorpius.integration_tests.TestIntegrationTests8
> [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> 11.026 s - in com.axon.scorpius.integration_tests.TestIntegrationTests8
> [INFO]
> [INFO] Results:
> [INFO]
> [WARNING] Tests run: 113, Failures: 0, Errors: 0, Skipped: 2
>

Reply via email to