java - 如何告诉 Maven 和 TestNG 运行特定的测试类或 suite.xml 文件?

标签 java xml maven testng

我正在使用 Maven 对网站运行 TestNG 集成测试。目前,我可以使用此命令来运行特定的测试类:

mvn -Dit.test="MyTestClassname" verify

我还希望能够指定一个 TestNG 套件 XML 文件来运行一堆带有特定参数的类。

我可以在 POM 中设置 Failsafe 插件来接受 suiteXmlFiles 参数,如下所示:

<configuration>
                        <threadCount>1</threadCount>
                        <suiteXmlFiles>
                            <suiteXmlFile>${basedir}/src/test/resources/suites/${suiteFile}</suiteXmlFile>
                        </suiteXmlFiles>
                        <systemPropertyVariables>
                            <browser>${browser}</browser>
                            <environment>${environment}</environment>
                            <debugMode>${debugMode}</debugMode>
                            <caseId>${caseId}</caseId>
                        </systemPropertyVariables>

</configuration>

这让我可以发出这个命令:

mvn -DsuiteFile="MyTestSuite.xml"

但现在我无法使用 -Dit.test="MyTestClassname"选项,因为 Maven 现在尝试传递一个空值作为套件名称。

有办法解决这个问题吗?再说一次,我想要:

  • 指定一个测试类(在命令行中使用一堆参数)
  • 指定一个 testng XML 文件,其中包含一堆测试类和不同的参数。

最佳答案

我正在使用 maven-surefire-plugin。它允许我运行 suitefile 和类。 这是我的万无一失的插件

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
                    </suiteXmlFiles>
                    <skipTests>${skipTests}</skipTests>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>

要运行 suitefile ,我使用

mvn test -DsuiteXmlFile=<suitefile>

为了运行类文件,我使用

mvn test -Dtest=<qualified path of the test class>

关于java - 如何告诉 Maven 和 TestNG 运行特定的测试类或 suite.xml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29243346/

相关文章:

javascript - 如何通过使用 javascript 检查 mysql 数据库中是否存在该值来从选择下拉框中删除选项

java - 在listview android中多次点击

Maven发布插件部署问题

Android Maven 构建在处理 "javax/xml/namespace/QName.class": 时出现问题

java - 没有数据源配置为运行此 SQL

java - 识别 XML 的内部节点

android - 在 Android Manifest.xml 文件上更改 Theme.Holo 无法在 Android 上运行

c++ - 如何在 TinyXML2 中将 XMLElement 转换为字符串

java - XSLT 处理与 Java : passing xml content in parameter

java - jUnit 问题 - Restful Web 服务的集成测试