如何在Spring Boot - Cucumber版本5及更高版本中运行JUnit5并行测试

4
“使用以下技术栈进行测试框架:Java,Maven,Selenium,Junit,Cucumber,Spring Boot,YAML。
cucumber.version = 5.4.0 Cucumber-JVM现在支持JUnit5,并且我们可以使用并行。 我尝试添加-Dcucumber.execution.parallel.enabled=true -Dcucumber.execution.parallel.config.strategy=dynamic”

https://github.com/cucumber/cucumber-jvm/blob/master/release-notes/v5.0.0.md

被使用了:

            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven-surefire-plugin.version}</version>
            <configuration>
                <includes>
                    <include>**/RunCucumberIT.java</include>
                    <release>11</release>
                </includes>
                <!--                    <parallel>methods</parallel>-->
                <!--                    <threadCount>4</threadCount>-->
            </configuration>
        </plugin>
1个回答

7

您可以通过在类路径根目录添加一个 junit-platform.properties 文件来提供选项。例如:

src/test/resources/junit-platform.properties

cucumber.execution.parallel.enabled=true
cucumber.execution.parallel.config.strategy=fixed
cucumber.execution.parallel.config.fixed.parallelism=10

你也可以通过Surefire/Failsafe配置参数字段向JUnit Platform传递选项。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>3.0.0-M3</version>
    <configuration>
        <properties>
            <configurationParameters>
                cucumber.execution.parallel.config.fixed.parallelism=24
            </configurationParameters>
        </properties>
    </configuration>
</plugin>

因为 Cucumber 是一个 JUnit 平台引擎,所以您也可以使用任何其他方式将配置参数传递给JUnit平台

请注意,-D 不起作用,因为 surefire 会启动一个新的 JVM,您必须使用 `-DargLine='....' 进行配置。


1
这是一个运行并行测试的示例项目:https://github.com/cucumber/cucumber-jvm/tree/main/examples/java-calculator-junit5 - marius_neo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接