gpt4 book ai didi

maven - 使用 testng 和 maven 运行不同的测试套件

转载 作者:行者123 更新时间:2023-12-01 07:21:34 25 4
gpt4 key购买 nike

我将 TestNg 和 Maven 与 surefire 插件一起使用来运行我的测试。我有几个不同的组件,我希望能够使用相同的 pom 在不同的时间运行。目前要做到这一点,我有几个不同的 XML 文件定义了一个测试套件,并且我设置了 pom,所以我可以执行 mvn test -Dtestfile=/path 并使用该套件。

我想知道是否有办法将 XML 文件合并到一个文件中并选择基于测试名称或其他系统?

编辑:我已经用 Smoke、Sanity、Regression 定义了我的所有测试,我希望能够运行给定组件的所有回归。如果我通过 TestNG CLI 运行,我可以给出 -testnames comp1、comp2、comp3 等。其中每个组件都定义在一个 xml 套件中,该套件包含多个测试 ()。我想知道除了使用 exec:java 插件之外,是否有任何方法可以在 maven 中做到这一点。

最佳答案

TestNG 支持测试组,通过在测试用例本身或suite.xml 文件中指定测试类/方法的组。通过使用组,您可以将所有测试放在一个 xml 文件中。见 Groups在 TestNG 用户指南中。

surefire 插件允许基于组包含或排除测试:

      <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<groups>${testng.groups}</groups>
</configuration>
</plugin>

您可以将所有测试放在一个 xml 文件中,然后通过设置要包含在 ${testng.groups} 属性中的一个或多个组来选择要运行的测试,该属性应该是一个以逗号分隔的组名列表。

您可以使用配置文件或在命令行 -Dtestng.groups=[groups to run] 上为 POM 中的 ${testng.groups} 属性定义值。 .

关于maven - 使用 testng 和 maven 运行不同的测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com