Maven 命令 运行 单个 Testng.xml

Maven command to run a single Testng.xml

我正在使用 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。谢谢

一种方法:

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

并在命令行中:

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

此代码 'replaces' 变量 ${suiteXmlFile} 具有提供的值。

现在,如果你想在你的 pom.xml 中有一个默认套件,它在你 mvn test 时执行,但如果你 mvn test executeAnotherSuiteInsteadOfDefault 则被覆盖,请检查这个答案:。