我希望将生成的报告保存到每个测试套件的自定义位置(例如,../target/api/surefire-reports,../target/ui/surefire-reports)
我可以通过在pom.xml中添加以下行来做到这一点
<configuration>
<reportsDirectory>${project.build.directory}/api/surefire-reports</reportsDirectory>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/api_testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
但是,我想使用命令行,并且正在尝试这样做:
mvn clean test -Dsurefire.suiteXmlFiles=src\\test\\resources\\api_testng.xml -DreportsDirectory=${project.build.directory}\\apitests\\surefire-reports
但是,它不起作用并将报告保存在通常的../target/surefire-reports文件夹中,也不会引发任何错误。
像这样在maven surefire报告插件中很有可能
mvn surefire-report:report -DoutputDirectory=newpath
有人知道或曾经使用命令行选项在surefire中做到这一点吗?
答案 0 :(得分:0)
通过-D
开关,您可以从CLI覆盖 properties 。因此,定义一个属性并将其用作<reportsDirectory>
的值,如下所示:
<properties>
<surefireReportsDirectory/><!-- Empty means use the default value. -->
</properties>
...
<plugins>
...
<plugin>
...
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<reportsDirectory>${surefireReportsDirectory}</reportsDirectory>
</configuration>
</plugin>
</plugins>
现在您可以从CLI进行更改:
mvn -DsurefireReportsDirectory=/some/other/dir test