我有一个编译为WAR文件的maven项目。 然后我有一个单独的测试项目,其中包含集成测试。该项目将通过tomcat从WAR文件启动Web应用程序,然后启动测试。
我现在唯一的报道报告仅适用于主项目中的单元测试。使用JMockit-coverage和JUnit。
如何获取此Web应用程序的代码覆盖率?
答案 0 :(得分:5)
您可以使用优秀的JaCoCo库。 JaCoCo基本上是一个java代理,您应该在集成测试期间与JVM一起开始。 Maven插件:jacoco-maven-plugin
在这里可能很有用。
默认情况下,测量的覆盖范围将在jacoco.exec
文件中重新记录。
一些有用的链接:
但是当使用maven-failsafe-plugin
并从maven启动嵌入式tomcat时,您可能会遇到问题like this。然后可能最好的方法是通过ant
和maven-antrun-plugin
(working example)使用jacoco。在业余时间,您还可以查看this博客文章。
不幸的是,使用maven设置JaCoCo可能非常耗时。
希望有所帮助