我的项目有两个testNG xml文件,TestNG.xml和TestNG2.xml,两者都在根文件夹中。我已经制作了maven pom配置如下,但是当我运行时,文件" TestNG.xml"运行两次,TestNG2.xml保持不变。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<suiteXmlFiles>
<file>TestNG2.xml</file>
<file>TestNG.xml</file>
</suiteXmlFiles>
<properties>
<property>
<name>suitethreadpoolsize</name>
<value>2</value>
</property>
</properties>
</configuration>
</plugin>
我也试过从cmd运行但是再次只运行TestNG.xml两次。
mvn clean test -Dsurefire.suiteXmlFiles = TestNG2.xml,TestNG.xml
如何在同一次运行中运行这两个文件?
答案 0 :(得分:0)
您没有使用正确的标签。您必须重构 suiteXmlFiles 块中的标记名。 pom文件应如下所示: -
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>TestNG2.xml</suiteXmlFile>
<suiteXmlFile>TestNG.xml</suiteXmlFile>
</suiteXmlFiles>
<properties>
<property>
<name>suitethreadpoolsize</name>
<value>2</value>
</property>
</properties>
</configuration>
</plugin>
以防万一,如果您想从命令提示符动态运行不同的testNG.xml,则只需添加占位符变量 pom 文件。使用 -D 开关在命令提示符中传递此占位符的值。在这种情况下,pom文件应如下所示: -
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${testSuite}.xml</suiteXmlFile>
</suiteXmlFiles>
<properties>
<property>
<name>suitethreadpoolsize</name>
<value>2</value>
</property>
</properties>
</configuration>
</plugin>
传递测试套件的命令应为:
mvn clean integration-test -DtestSuite=testNG