使用mvn运行testng时,我根据需要配置了我的工作区: 我的pom.xml文件配置了所有必需的依赖项,testng.xml包含所有必需的类。
然而,当我添加一个新的测试类时,testng.xml不会自动更新 - 它不应该从根扫描进行相应的测试吗?或者我是否必须手动更新testng.xml文件? (顺便说一句,我的工作区是根据以下帖子配置的:How to call testng.xml file from pom.xml in Maven)
答案 0 :(得分:1)
xml方法可以更精细地控制测试集。它不会自动更改,但如果您选择说出一个文件夹并右键单击run作为testng,eclipse将动态生成xml配置。如果您只想运行所有testng带注释的测试,并且您已经使用surefire或failsafe正确配置了maven,那么您甚至不需要xml文件。只需运行" mvn verify"并且所有测试都应该基于注释运行。如果这不起作用,请发布您的surefire / failsafe pom部分。
如果要在maven中配置特定的xml,请使用类似(surefire或failsafe工作相同的内容)。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${failsafe.version}</version>
<configuration>
<argLine>-Xmx1024m</argLine>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
<!-- <groups>functest,perftest</groups> -->
</suiteXmlFiles>
</configuration>
</execution>
</executions>
</plugin>
如果您确实需要更精细的控制,并且想要使用maven指定的xml文件,则可以通过&#34; verify -P MyProfile&#34;
启动它。<profiles>
<profile>
<id>MyProfile</id>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>MyProfile.xml</suiteXmlFile>
<!-- <groups>functest,perftest</groups> -->
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>MyOtherProfile</id>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>MyOtherProfile.xml</suiteXmlFile>
<!-- <groups>functest,perftest</groups> -->
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profiles>