Maven命令运行单个Testng.xml

时间:2018-04-05 14:05:59

标签: testng maven-3 maven-plugin maven-surefire-plugin

我正在使用Surefire插件,我有一个这样的套件:

 <suiteXmlFiles>
      <suiteXmlFile>src/test/resources/suites/testng1.xml</suiteXmlFile>
      <suiteXmlFile>src/test/resources/suites/testng2.xml</suiteXmlFile>
 </suiteXmlFiles>

如果我执行此命令:

mvn clean test

然后执行两个xml文件。现在我只想运行testng2.xml,所以我在这个命令中指定了它的路径:

mvn clean test -Dsurefire.suiteXmlFiles=/src/test/resources/suites/testng2.xml

但它不起作用,因为testng1.xml和testng2.xml都被再次执行。

我错过了什么吗?我使用Maven v3.5。感谢

1 个答案:

答案 0 :(得分:1)

一种方法:

<configuration>
    <suiteXmlFiles>
        <suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
    </suiteXmlFiles>
</configuration> 

在命令行中:

mvn test -DsuiteXmlFile=src/test/resources/suites/testng2.xml

此代码替换了&#39;提供值的变量$ {suiteXmlFile}。

现在,如果你想在pom.xml中有一个默认套件,当你执行mvn test时执行该默认套件,但如果你mvn test executeAnotherSuiteInsteadOfDefault执行,则会被覆盖,请检查以下答案:https://stackoverflow.com/a/13829933/5494070