java – 如何参数化Maven surefire插件,以便我可以选择要运行哪个TestNG套件

前端之家收集整理的这篇文章主要介绍了java – 如何参数化Maven surefire插件,以便我可以选择要运行哪个TestNG套件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在TestNG中有很多测试套件.这些是 XML文件.从maven运行集成测试时,我想要能够选择多个XML套件.

目前,我可以将套件文件添加到pom.xml中,如下所示:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <suiteXmlFiles>
      <suiteXmlFile>${pathToMySuiteFile_1}</suiteXmlFile>
      <suiteXmlFile>${pathToMySuiteFile_1}</suiteXmlFile>
    </suiteXmlFiles>
  </configuration>
</plugin>

这个解决方案有一些限制.我只能改变我在pom.xml中定义的测试套件的路径.所以在我的例子中,它总是必须是两个文件.我不能跑,可以说,5套或只有一个.

有没有办法在pom.xml中参数化整个部分“suiteXmlFiles”?

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <suiteXmlFiles>
      ${multiple_paths_ToMySuiteFiles}
    </suiteXmlFiles>
  </configuration>
</plugin>

运行与给定测试组匹配的所有内容对我来说不是一个选择:
我不想加载我拥有的所有套件,然后使用TestNG套件中的组运行所选的测试.原因是在运行具有组过滤器的所有测试套件后生成的报告与仅运行所选测试套件的报告不同.

解决方法

根据 User Property的suiteXmlFiles可以使用:
mvn test -Dsurefire.suiteXmlFiles=test1.xml,test2.xml

猜你在找的Java相关文章