我有一个集成测试模块,我想在 jenkins 上运行。下面是我的配置。我很好奇我的 pom 是否按套件并行执行,我可以按方法并行执行我的套件吗?如果我正在运行数千个测试,那么执行此操作的最佳方式是什么?我的套房不是平均分配的,所以有的套房有几百个,有的只有50个或更少。
我的故障保护配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${surefire.plugin.version}</version>
<executions>
<execution>
<phase>integration-test</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${project.basedir}/src/test/resources/int-test0.xml</suiteXmlFile>
<suiteXmlFile>${project.basedir}/src/test/resources/int-test1.xml</suiteXmlFile>
<suiteXmlFile>${project.basedir}/src/test/resources/int-test2.xml</suiteXmlFile>
<suiteXmlFile>${project.basedir}/src/test/resources/int-test3.xml</suiteXmlFile>
<suiteXmlFile>${project.basedir}/src/test/resources/int-test4.xml</suiteXmlFile>
<suiteXmlFile>${project.basedir}/src/test/resources/int-test5.xml</suiteXmlFile>
<suiteXmlFile>${project.basedir}/src/test/resources/int-test6.xml</suiteXmlFile>
<suiteXmlFile>${project.basedir}/src/test/resources/int-test7.xml</suiteXmlFile>
</suiteXmlFiles>
<reuseForks>true</reuseForks>
<parallel>suites</parallel>
<threadCountSuites>8</threadCountSuites>
<perCoreThreadCount>false</perCoreThreadCount>
<reportsDirectory>${project.build.directory}/surefire-reports/${testOutputSubfolder}
</reportsDirectory>
</configuration>
</plugin>
示例测试套件:
<suite thread-count="3" verbose="1" name="int-test 1"
parallel="methods" data-provider-thread-count="5"
annotations="JDK">
<!-- Execution environment configurations -->
<parameter name="browser" value="*firefox"/>
<parameter name="useLocalRC" value="false"/>
<listeners>
<listener class-name="com.util.RetryListener"/>
</listeners>
<test name="First Test">
<classes>
<class name="com.path.sample.TestClass1"/>
</classes>
</test>
<test name="OneTime Test">
<classes>
<class name="com.path.sample.TestClass2">
<methods>
<include name="happyPath1"/>
<include name="happyPath2"/>
</methods>
</class>
<class name="com.path.sample.TestClass3"/>
</classes>
</test>
</suite>