gpt4 book ai didi

maven - 使用命令行更改 maven surefire reportsDirectory

转载 作者:行者123 更新时间:2023-12-03 21:21:46 24 4
gpt4 key购买 nike

我希望将生成的报告保存到我的每个测试套件的自定义位置(例如,../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

有谁知道或已经使用命令行选项在万无一失中做到这一点?

最佳答案

-D开关允许您从 CLI 覆盖属性。因此,定义一个属性并将其用作 <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

关于maven - 使用命令行更改 maven surefire reportsDirectory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51124987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com