欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-01 10:41:05
...
代码覆盖率测试的工具,比较常用的如下:
(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结束后生成静态报告。
Java单元测试之代码覆盖率-JaCoCo
            
    
    博客分类: Java  

启动JVM时添加VM参数:
引用
-javaagent:[yourpath/]jacocoagent.jar

还可以指定很多option,具体可以参考http://www.eclemma.org/jacoco/trunk/doc/agent.html

执行完成后会在工程根目录下生成jacoco.exec文件,如果要查看jacoco.exec文件需要安装Eclipse插件EclEmma
Java单元测试之代码覆盖率-JaCoCo
            
    
    博客分类: Java  

如果想看具体的报告,需要借助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版本的报告:
Java单元测试之代码覆盖率-JaCoCo
            
    
    博客分类: Java  

CSV版本的报告:
Java单元测试之代码覆盖率-JaCoCo
            
    
    博客分类: Java  

http://blog.csdn.net/wangmuming/article/details/23455947
  • Java单元测试之代码覆盖率-JaCoCo
            
    
    博客分类: Java  
  • 大小: 25.2 KB
  • Java单元测试之代码覆盖率-JaCoCo
            
    
    博客分类: Java  
  • 大小: 4.9 KB
  • Java单元测试之代码覆盖率-JaCoCo
            
    
    博客分类: Java  
  • 大小: 6.1 KB
  • Java单元测试之代码覆盖率-JaCoCo
            
    
    博客分类: Java  
  • 大小: 6.6 KB