【发布时间】:2012-07-08 23:38:34
【问题描述】:
我在 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 套件中的组只运行选定的测试。原因是运行所有带有组过滤器的测试套件后生成的报告与仅运行选定的测试套件时生成的报告不同。
【问题讨论】:
标签: java unit-testing maven testng maven-surefire-plugin