我不确定这是否是一个简单的问题,但我想在测试阶段确保生成html格式的输出文件(除了xml和txt格式的输出文件)。
我试图通过为构建> surefire添加'executions'条目来实现这一点。这是正确的位置吗?如果是这样,我做错了吗?
<build>
..
<plugins>
..
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.6</version>
<configuration>
<outputDirectory>site</outputDirectory>
</configuration>
<executions>
<execution>
<id>during-tests</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
答案 0 :(得分:18)
我想在测试阶段确保生成html格式的输出文件(除了xml和txt格式的输出文件)。
最简单的方法(不运行site
)可能只是调用:
mvn surefire-report:report
这将在生成报告之前运行测试(但结果不是很好,因为不会生成CSS,您必须为此运行site
。
我试图通过为构建&gt; surefire添加'executions'条目来实现这一点。这是正确的位置吗?如果是这样,我做错了吗?
如果你真的想将surefire-report
插件绑定到test
阶段,我的建议是使用report-only
目标(因为它不会重新运行测试,请参阅{ {3}}),像这样:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>report-only</goal>
</goals>
</execution>
</executions>
</plugin>
作为旁注,请将报告生成为网站的一部分:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.6</version>
<reportSets>
<reportSet>
<reports>
<report>report-only</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
正在运行
mvn test site
似乎没有那么慢(我使用Maven 3,仅使用此报告)并产生更好的结果。如果你有一个复杂的网站设置,这可能不是一个选项(至少不是通过引入配置文件使事情变得更复杂)。