我目前正在开发一个由 Maven 支持的项目。我选择了 TestNg 来实现我的单元测试。为了在每个 Maven 构建中运行我的单一测试,我已将 maven-surefire-plugin 添加到我的 pom.xml 中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<!-- Configuring the test suites to execute -->
<suiteXmlFiles>
<suiteXmlFile>testsuite-persistence-layer.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
此外,我想使用 TestNg 的 TestSuiteXmlFile 指定要执行的测试。例如,在我的 pom.xml 中,我配置了 surefire 插件,以便它将执行名为“testsuite-persistence-layer.xml”的 xml 文件中定义的测试。
问题是,默认情况下,surefire 插件似乎在我的项目的根目录中寻找这个 xml 文件。如何指定 surefire 插件应在其中查找 TestSuite xml 文件的目录?
根据 TestNg 文档,这可以通过“maven.testng.suitexml.dir”属性指定,但 Surefire 插件似乎没有考虑到它。