Java单元测试之代码覆盖率-JaCoCo

代码覆盖率测试的工具,比较常用的如下:
(1)开源:
JaCoCo [url=http://www.eclemma.org/jacoco/]http://www.eclemma.org/jacoco/ [/url]
Cobetura [url=http://cobertura.sourceforge.net/]http://cobertura.sourceforge.net/[/url]
Emma [url=http://emma.sourceforge.net/]http://emma.sourceforge.net/[/url]

(2)商用:
Clover [url=http://www.atlassian.com/software/clover/overview]http://www.atlassian.com/software/clover/overview[/url]

JaCoCo(Java Code Coverage)是开源的Java代码覆盖率测试library,它可以集成到ANT、Maven等build工具中。它采用标准的[url=http://docs.oracle.com/javase/7/docs/technotes/guides/jvmti/]JVM Tool Interface[/url]。把JaCoCo agent 加入到JVM后启动,加载到JVM中的class具体被执行了哪些代码行将会被记录下来,JaCoCo搜集这些执行信息直到JVM结束后生成静态报告。
[img]http://dl2.iteye.com/upload/attachment/0093/0219/9fa4e17d-abe3-3b96-bec0-841e092802ec.jpg[/img]

启动JVM时添加VM参数:
[quote]-javaagent:[yourpath/]jacocoagent.jar[/quote]
还可以指定很多option,具体可以参考[url=http://www.eclemma.org/jacoco/trunk/doc/agent.html]http://www.eclemma.org/jacoco/trunk/doc/agent.html[/url]

执行完成后会在工程根目录下生成jacoco.exec文件,如果要查看jacoco.exec文件需要安装Eclipse插件[url=http://www.eclemma.org/download.html]EclEmma[/url]。
[img]http://dl2.iteye.com/upload/attachment/0093/0221/e1093876-ff96-3be0-b4cc-583adcad38c9.png[/img]

如果想看具体的报告,需要借助JaCoCo的Ant扩展来生成报告文件:
[url=http://www.eclemma.org/jacoco/trunk/doc/examples/build/build.xml]http://www.eclemma.org/jacoco/trunk/doc/examples/build/build.xml[/url]

<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>


[b]HTML版本的报告:[/b]
[img]http://dl2.iteye.com/upload/attachment/0093/0223/aaf5bbbd-9cb2-3387-b03e-cd3a5e2b737f.png[/img]

[b]CSV版本的报告:[/b]
[img]http://dl2.iteye.com/upload/attachment/0093/0225/deba3939-b156-3a2e-8252-2aefbf23513f.png[/img]

[url=http://blog.csdn.net/wangmuming/article/details/23455947]http://blog.csdn.net/wangmuming/article/details/23455947[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值