Maven 有没有一个像样的 HTML Junit 报告插件?
我发现插件非常不适合我的工作方式。我一直在清理项目,我不想每次想在浏览器中查看测试报告时都花5分钟来重建整个网站。surefire-report
如果我键入 ,生成的报告太难看,几乎无法阅读。mvn surefire-report:report-only
我正在寻找的是像蚂蚁的JUnitReport任务这样的东西。那里已经有一个了吗?
我发现插件非常不适合我的工作方式。我一直在清理项目,我不想每次想在浏览器中查看测试报告时都花5分钟来重建整个网站。surefire-report
如果我键入 ,生成的报告太难看,几乎无法阅读。mvn surefire-report:report-only
我正在寻找的是像蚂蚁的JUnitReport任务这样的东西。那里已经有一个了吗?
这就是我所做的:
# Run tests and generate .xml reports
mvn test
# Convert .xml reports into .html report, but without the CSS or images
mvn surefire-report:report-only
# Put the CSS and images where they need to be without the rest of the
# time-consuming stuff
mvn site -DgenerateReports=false
转到 target/site/surefire-report.html 以获取报告。
测试运行后,其余两个在大约3.5秒内运行。
希望有所帮助。享受!
实际上,在每次构建时生成整个站点显然不是一种选择。但问题是它不会创建css / * .css文件,因此结果很丑陋。这记录在SUREFIRE-616中(并不意味着会发生某些事情)。就个人而言,我不经常使用HTML报告,所以我可以忍受,但这不是一个好的答案,所以这里有一个基于蚂蚁任务的解决方法(*叹息*):mvn surefire-report:report-only
<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插件来生成报告...但这不是我发布的内容,我将其绑定到阶段...但是我没有考虑过测试失败的情况(这会停止构建并阻止AntRun插件的执行)。因此,要么:test
不要将 AntRun 插件绑定到阶段,将配置移到外部,并在需要时调用命令行生成报告。test
execution
mvn antrun:run
或者使用 testmojo 的 testFailureIgnore
选项,并在 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是最好的选择,你不一定想生成报告(特别是当测试通过时)并系统地生成它们可能会长期减慢构建速度。我会“按需”生成它们。