Cobertura覆盖率工具的使用调研

Cobertura

Cobertura 是一种开源工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码和没有执行哪些代码,来测量测试覆盖率。Cobertura提供了Ant和Maven的执行方式,并且Cobertura要比JaCoCo配置和使用起来更方便。

官方地址:http://sourceforge.net/projects/cobertura/ 
日本下载:http://sourceforge.jp/projects/sfnet_cobertura/releases/


Cobertura覆盖率工具的使用调研_第1张图片

Cobertura工具介绍

Cobertura 基本工具包里有四个基本过程及对应的工具:cobertura-check,cobertura-instrument,cobertura-merge,cobertura-report。但是这个脚本独立使用较为繁琐,不方便也不利于自动化。 

Cobertura与Ant的配置

因为现在我们的Web项目都用maven管理,使用ant不方便,所以就没有仔细研究。 
需要的具体见http://www.ibm.com/developerworks/cn/java/j-cobertura/ 

就不抄录了

Cobertura与Maven的配置

Cobertura 在 Maven 编译平台上有相应的 cobertura-maven-plugin 插件,使代码编译、检测、集成等各个周期可以流水线式自动化完成。

插件地址:http://mojo.codehaus.org/cobertura-maven-plugin/

Cobertura 目标指令及作用解释

Cobertura:check
检查最后一次标注(instrumentation) 正确与否

Cobertura:clean
清理插件生产的中间及最终报告文件

Cobertura:dump-datafile
Cobertura 数据文件 dump 指令 , 不常用

Cobertura:instrument
标注编译好的 javaclass 文件

Cobertura:cobertura
标注、运行测试并产生 Cobertura 覆盖率报告


具体的配置方法如下:

<!-- cobertura plugin -->
 <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
    <configuration>
      <formats>
        <format>html</format>
        <format>xml</format>
      </formats>
    </configuration>
  </plugin>

执行 mvn clean cobertura:cobertura,即可运行test并获得测试覆盖率报告。

Cobertura与Jenkins的结合

在Jenkins上安装插件Cobertura插件,就可以增加单元测试的覆盖率报告的显示。

插件说明:https://wiki.jenkins-ci.org/display/JENKINS/Cobertura+Plugin


在配置项中选择Publish Cobertura Coberage Report,即可将覆盖率报告显示在该项目的的页面上。

Cobertura覆盖率工具的使用调研_第2张图片

你可能感兴趣的:(cobertura,测试,覆盖率)