You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "QIAO YU (Jira)" <ji...@apache.org> on 2020/05/22 14:39:00 UTC
[jira] [Created] (SUREFIRE-1795) surefire-reports is not working in
parallel
QIAO YU created SUREFIRE-1795:
---------------------------------
Summary: surefire-reports is not working in parallel
Key: SUREFIRE-1795
URL: https://issues.apache.org/jira/browse/SUREFIRE-1795
Project: Maven Surefire
Issue Type: Bug
Components: Maven Surefire Plugin
Affects Versions: 3.0.0-M4
Environment: Centos 7 +JDK 1.8.0 + Maven 3.0.5 + surefire plugin 2.19.1 + testng 6.8;
Centos 7 + JDK 1.8.0 + Maven 3.5.2 + surefire plugin 2.19.1 + testng 6.8;
Windows 10 + JDK 1.8.0 + Maven 3.5.0 + surefirel plugin 3.0.0-M4 + testng 6.8;
Reporter: QIAO YU
Create a maven project, add 4 testng classes to print out logs, for example:
{code:java}
package com.verizon.rngverify;
import org.testng.annotations.Test;
public class testClass1 {
@Test public void test1() throws Exception {
System.out.println("class1method1");
Thread.sleep(100);
System.out.println("class1method1 end");
}
}
{code}
Create a testng xml file to control above 4 test cases in parallel with 4 threads:
{code:java}
<suite name="tsname" parallel="tests" thread-count="4" verbose="1">
<test name="testname1_in_xml" >
<classes>
<class name="com.verizon.rngverify.testClass1"/>
</classes>
</test>
<test name="testname2_in_xml">
<classes>
<class name="com.verizon.rngverify.testClass2"/>
</classes>
</test>
<test name="testname3_in_xml">
<classes>
<class name="com.verizon.rngverify.testClass3" />
</classes>
</test>
<test name="testname4_in_xml">
<classes>
<class name="com.verizon.rngverify.testClass4" />
</classes>
</test>
</suite>
{code}
Use surefire plugin in pom:
{code:java}
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration> <source>1.8</source> <target>1.8</target> </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<suiteXmlFiles> <file>src/test/resources/ts1234.xml</file> </suiteXmlFiles>
</configuration>
</plugin>
</plugins>
{code}
Run above project:
mvn clean install
From console log, it show 4 test cases ran in parallel:
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running TestSuite
class1method1
class2method1
class3method1
class4method1
class2method1 end
class3method1 end
class4method1 end
class1method1 end
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.617 s - in TestSuite
But under ${project}/target/surefire-reports, open testng-results.xml, only 3 cases are record. Also under ${project}/target/surefire-reports/junitreports folder, only 3 files are generated.
In general, if the thread-count > 1, this happens randomly. If set thread-count to 1, we will all testing record.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)