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

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...