确实,在每个构建中生成整个站点显然不是一种选择。但是问题在于,
mvn surefire-report:report-only它不会创建css /
。css文件,因此结果很丑陋。这已记录在SUREFIRE-616中(但这并不意味着会发生什么)。就个人而言,我使用的HTML报告不多,因此我可以接受它,但这并不是一个好的答案,因此这是一个基于ant任务(
sigh *)的解决方法:
<plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>test-reports</id> <phase>test</phase> <configuration> <tasks> <junitreport todir="target/surefire-reports"> <fileset dir="target/surefire-reports"> <include name="**/*.xml"/> </fileset> <report format="noframes" todir="target/surefire-reports"/> </junitreport> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>ant</groupId> <artifactId>ant-junit</artifactId> <version>1.6.2</version> </dependency> </dependencies> </plugin>
更新: 我最初的想法是“按需”运行Maven
AntRun插件以生成报告…但这不是我发布的内容,我将其绑定到了
test阶段…但是我没有想到失败的情况测试(这将停止构建并阻止AntRun插件的执行)。因此,要么:
不要将AntRun插件绑定到该
test
阶段,请将配置移到之外,execution
并mvn antrun:run
在需要时在命令行上调用以生成报告。或使用
testFailureIgnore
test mojo 的选项,并在surefire插件配置中将其设置为true:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin>
- 或使用-D参数在命令行中设置以下表达式:
$ mvn test -Dmaven.test.failure.ignore=true
我认为选项1是最好的选择,您不一定要生成报告(尤其是在测试通过时),而系统地生成报告可能会从长远来看减慢构建速度。我会“按需”生成它们。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)