Java单元测试之代码覆盖率-JaCoCo
程序员文章站
2022-03-02 12:00:30
...
代码覆盖率测试的工具,比较常用的如下:
(1)开源:
JaCoCo http://www.eclemma.org/jacoco/
Cobetura http://cobertura.sourceforge.net/
Emma http://emma.sourceforge.net/
(2)商用:
Clover http://www.atlassian.com/software/clover/overview
JaCoCo(Java Code Coverage)是开源的Java代码覆盖率测试library,它可以集成到ANT、Maven等build工具中。它采用标准的JVM Tool Interface。把JaCoCo agent 加入到JVM后启动,加载到JVM中的class具体被执行了哪些代码行将会被记录下来,JaCoCo搜集这些执行信息直到JVM结束后生成静态报告。
启动JVM时添加VM参数:
还可以指定很多option,具体可以参考http://www.eclemma.org/jacoco/trunk/doc/agent.html
执行完成后会在工程根目录下生成jacoco.exec文件,如果要查看jacoco.exec文件需要安装Eclipse插件EclEmma。
如果想看具体的报告,需要借助JaCoCo的Ant扩展来生成报告文件:
http://www.eclemma.org/jacoco/trunk/doc/examples/build/build.xml
HTML版本的报告:
CSV版本的报告:
http://blog.csdn.net/wangmuming/article/details/23455947
(1)开源:
JaCoCo http://www.eclemma.org/jacoco/
Cobetura http://cobertura.sourceforge.net/
Emma http://emma.sourceforge.net/
(2)商用:
Clover http://www.atlassian.com/software/clover/overview
JaCoCo(Java Code Coverage)是开源的Java代码覆盖率测试library,它可以集成到ANT、Maven等build工具中。它采用标准的JVM Tool Interface。把JaCoCo agent 加入到JVM后启动,加载到JVM中的class具体被执行了哪些代码行将会被记录下来,JaCoCo搜集这些执行信息直到JVM结束后生成静态报告。
启动JVM时添加VM参数:
引用
-javaagent:[yourpath/]jacocoagent.jar
还可以指定很多option,具体可以参考http://www.eclemma.org/jacoco/trunk/doc/agent.html
执行完成后会在工程根目录下生成jacoco.exec文件,如果要查看jacoco.exec文件需要安装Eclipse插件EclEmma。
如果想看具体的报告,需要借助JaCoCo的Ant扩展来生成报告文件:
http://www.eclemma.org/jacoco/trunk/doc/examples/build/build.xml
<project default="report" xmlns:jacoco="antlib:org.jacoco.ant"> <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml"> <classpath path="lib/jacocoant.jar" /> </taskdef> <target name="report"> <jacoco:report> <executiondata> <file file="jacoco.exec" /> </executiondata> <structure name="JaCoCo Ant Example"> <classfiles> <fileset dir="bin" /> </classfiles> <sourcefiles encoding="UTF-8"> <fileset dir="src" /> </sourcefiles> </structure> <html destdir="target" /> <csv destfile="target/report.csv" /> </jacoco:report> </target> </project>
HTML版本的报告:
CSV版本的报告:
http://blog.csdn.net/wangmuming/article/details/23455947
上一篇: Java简化臃肿代码之Lombok
下一篇: Java压缩解压ZIP之Zip4j