有没有一种方法可以将生成的报告的输出目录更改为自定义目录,尤其是.json-Report文件?
文档说(http://jgiven.org/userguide/-4.2):
[...] JGiven尝试自动检测何时由Maven surefire插件执行[我正在使用它],在这种情况下,将报告生成到target / jgiven-reports / json中。 [...]
我正在将jGiven与Maven结合使用(用于Appium测试)。
配置(pom.xml-依赖项):
<dependency>
<groupId>com.tngtech.jgiven</groupId>
<artifactId>jgiven-testng</artifactId>
<version>0.15.1</version>
<scope>test</scope>
</dependency>
配置(pom.xml-构建/插件):
<plugin>
<groupId>com.tngtech.jgiven</groupId>
<artifactId>jgiven-maven-plugin</artifactId>
<version>0.15.1</version>
<executions>
<execution>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
由于该目录由jGiven定义,因此无助于更改构建目录。它仍将使用
target/jgiven-reports/json
目录。提前致谢!
最佳答案
如果其他人感到好奇:
我在https://github.com/TNG/JGiven/blob/fae0f3c8db0b00e7fa233cbd8f86306379def4b2/jgiven-core/src/main/java/com/tngtech/jgiven/impl/Config.java#L31(当前主控)中找到了String reportDirName = System.getProperty( JGIVEN_REPORT_DIR );
。
重要部分:
private static final String TRUE = "true";
private static final String FALSE = "false";
private static final String AUTO = "auto";
private static final String JGIVEN_REPORT_ENABLED = "jgiven.report.enabled";
public static final String JGIVEN_REPORT_DIR = "jgiven.report.dir";
private static final String JGIVEN_REPORT_TEXT = "jgiven.report.text";
private static final String JGIVEN_REPORT_TEXT_COLOR = "jgiven.report.text.color";
private static final String JGIVEN_FILTER_STACK_TRACE = "jgiven.report.filterStackTrace";
因此,您可以通过pom.xml中的maven-surefire-plugin设置系统属性:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<systemPropertyVariables>
<jgiven.report.dir>/my/custom/dir</jgiven.report.dir>
</systemPropertyVariables>
</configuration>
</plugin>
或只使用Java的
System.setProperty("jgiven.report.dir", "/my/custom/dir")