Maven命令来运行单个Testng.xml

Maven命令来运行单个Testng.xml,testng,maven-3,maven-plugin,maven-surefire-plugin,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> 然后执行这两

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

 <suiteXmlFiles>
      <suiteXmlFile>src/test/resources/suites/testng1.xml</suiteXmlFile>
      <suiteXmlFile>src/test/resources/suites/testng2.xml</suiteXmlFile>
 </suiteXmlFiles>
然后执行这两个xml文件。现在我只想运行
testng2.xml
,所以我在这个命令中指定它的路径:

mvn clean test
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> 

${suiteXmlFile}
在命令行中:

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

此代码使用提供的值“替换”变量${suiteXmlFile}

现在,如果您希望在pom.xml中有一个默认套件,该套件在执行
mvn测试时执行,但如果执行
mvn测试时执行其他套件而不是默认套件时被覆盖,请检查以下答案: