Maven : 2.x
Sequential:
INSTRUCTION 7%
BRANCH 3%
COMPLEXITY 6%
LINE 7%
METHOD 10%
CLASS 18%
Parallel:
INSTRUCTION 2%
BRANCH 1%
COMPLEXITY 1%
LINE 2%
METHOD 2%
CLASS 8%
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20.1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.20.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>default-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<argLine>-Xms1024m -Xmx3072m</argLine>
<trimStackTrace>false</trimStackTrace>
<skipTests>false</skipTests>
<parallel>classes</parallel>
<threadCount>30</threadCount>
<perCoreThreadCount>true</perCoreThreadCount>
<includes>
<include>**/*Test.java</include>
</includes>
....
</plugin>
jacoco config (using offline instrumentation for JMockit based unit tests and java agent for integration tests)
<plugin>
<!-- Create/generate the application.html using xsltproc -->
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.9</version>
<executions>
<execution>
<id>instrument</id>
<phase>process-classes</phase>
<goals>
<goal>instrument</goal>
</goals>
</execution>
<execution>
<id>restore</id>
<phase>prepare-package</phase>
<goals>
<goal>restore-instrumented-classes</goal>
</goals>
</execution>
<execution>
<id>it-bind-agent</id>
<goals>
<goal>restore-instrumented-classes</goal>
<goal>prepare-agent-integration</goal>
</goals>
</execution>
<execution>
<id>ut-report</id>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>it-report</id>
<goals>
<goal>report-integration</goal>
</goals>
</execution>
</executions>
</plugin>
Hi Guys,
I am seeing significant variations in jacoco coverage report for the same set of integration tests run in "parallel" vs "sequential".