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 >