Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-747

Parallel method execution skips Tests

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.8, 2.8.1
    • None
    • None

    Description

      Here is a simple testcase.

      POM file:

      			<plugin>
      				<artifactId>maven-surefire-plugin</artifactId>
      				<version>2.8.2-SNAPSHOT</version>
      				<configuration>
      					<includes>
      						<include>**/TestSuite.java</include>
      					</includes>
      					<parallel>methods</parallel>
      				</configuration>
      			</plugin>
      		</plugins>
      

      TestSuite.java

      import org.junit.runner.RunWith;
      import org.junit.runners.Suite;
      
      @RunWith(Suite.class)
      @Suite.SuiteClasses(
      {
      	ParallelTest.class,
      	ParallelTest2.class
      })
      public class TestSuite
      {
      }
      

      ParallelTest.java

      public class ParallelTest
      {
      	public ParallelTest()
      	{
      		System.out.println("ParallelTest.constructor");
      	}
      	
      	@Before
      	public void setUp()
      	{
      		System.out.println("ParallelTest.setUp");
      	}
      
      	@After
      	public void tearDown()
      	{
      		System.out.println("ParallelTest.tearDown");
      	}
      
      	@Test
      	public void first() throws InterruptedException
      	{
      		System.out.println("begin ParallelTest.first");
      		Thread.sleep(1000);
      		System.out.println("end ParallelTest.first");
      	}
      
      	@Test
      	public void second() throws InterruptedException
      	{
      		System.out.println("begin ParallelTest.second");
      		Thread.sleep(1000);
      		System.out.println("end ParallelTest.second");
      	}
      
      	@Test
      	public void third() throws InterruptedException
      	{
      		System.out.println("begin ParallelTest.third");
      		Thread.sleep(1000);
      		System.out.println("end ParallelTest.third");
      	}
      }
      

      ParallelTest2.java is identical except that log output contains ParallelTest2 instead of ParallelTest.

      Actual Output:

      Concurrency config is parallel='methods', perCoreThreadCount=true, threadCount=2, useUnlimitedThreads=false
      Running com.holdmyspot.health.server.ParallelTest
      ParallelTest.constructor
      ParallelTest.setUp
      begin ParallelTest.first
      end ParallelTest.first
      ParallelTest.tearDown
      Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.014 sec
      Running com.holdmyspot.health.server.ParallelTest2
      ParallelTest2.constructor
      ParallelTest2.setUp
      begin ParallelTest2.first
      end ParallelTest2.first
      ParallelTest2.tearDown
      Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.014 sec

      Results :

      Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

      Problem: methods second() and third() are never run for either ParallelTest or ParallelTest2.

      Attachments

        Issue Links

          Activity

            People

              krosenvold Kristian Rosenvold
              cowwoc Gili
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: