如何正确配置集成测试以在 jenkins 上并行运行

问题描述 投票:0回答:0

我有一个集成测试模块,我想在 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>
maven maven-surefire-plugin maven-failsafe-plugin
© www.soinside.com 2019 - 2024. All rights reserved.