Java测试覆盖率工具----Cobertura,EclEmma

Cobertura 是一个与Junit集成的代码覆盖率测量工具

它是免费、开源的

它可以与Ant和Maven集成,也可以通过命令行调用

可以生成HTML或XML格式的报告

可以按照不同的标准对HTML结果进行排序

为每个类、包以及整个项目计算所覆盖的代码行与代码分支的百分比例

Eclipse插件地址: http://ecobertura.johoop.de/update/ (requires Eclipse 3.5+)

使用Ant来执行Cobertura

操作步骤:

1.添加核心依赖jar包---

2.在 build.xml 文件中添加一个任务定义。以下这个顶级
taskdef 元素将 cobertura.jar 文件限定在当前工作目录中:

<taskdef classpath="cobertura.jar" resource="tasks.properties" />

3.被测量的类必须在原始类出现在类路径中之前出现在类路径中,而且需要将 Cobertura JAR 文件添加到类路径中:

<target name="cover-test" depends="instrument">
  <mkdir dir="${testreportdir}" />
  <junit dir="./" failureproperty="test.failure" printSummary="yes"
         fork="true" haltonerror="true">
    <!-- Normally you can create this task by copying your existing JUnit
         target, changing its name, and adding these next two lines.
         You may need to change the locations to point to wherever
         you've put the cobertura.jar file and the instrumented classes. -->
    <classpath location="cobertura.jar"/>
    <classpath location="target/instrumented-classes"/>
    <classpath>
      <fileset dir="${libdir}">
        <include name="*.jar" />
      </fileset>
      <pathelement path="${testclassesdir}" />
      <pathelement path="${classesdir}" />
    </classpath>
    <batchtest todir="${testreportdir}">
      <fileset dir="src/java/test">
        <include name="**/*Test.java" />
        <include name="org/jaxen/javabean/*Test.java" />
      </fileset>
    </batchtest>
  </junit>
</target>>

4.cobertura-report 任务生成测试报告 HTML 文件:

<target name="coverage-report" depends="cover-test">
 <cobertura-report srcdir="src/java/main" destdir="cobertura"/>
</target>

5.srcdir 属性指定原始的 .java 源代码在什么地方。destdir 属性指定 Cobertura 放置输出 HTML 的那个目录的名称。

在自己的 Ant 编译文件中加入了类似的任务后,就可以通过键入以下命令来生成一个覆盖报告:

% ant instrument
% ant cover-test
% ant coverage-report

在Java测试覆盖率工具上,还有一个更加简单的工具:EclEmma(推荐)
,笔者目前也在使用EclEmma,它可以很方便的与Eclipse集成,然后可以直接run,显示出代码覆盖率,其地址是:http://www.eclemma.org/

我们可以在Eclipse的MarketPlace中直接搜索并下载安装

在这里我就不过多介绍了,有兴趣的同学可以自己尝试。

——不要太高估自己在集体中的力量,因为当你选择离开时,就会发现即使没有你,太阳照常升起!

时间: 2024-08-10 02:08:57

Java测试覆盖率工具----Cobertura,EclEmma的相关文章

测试覆盖率工具:EclEmma

测试覆盖率工具:EclEmma 2016-08-26 目录 1 测试覆盖率实现技术2 EclEmma介绍3 EclEmma测试覆盖率指标4 EclEmma安装5 示例项目介绍  5.1 创建项目  5.2 用Coverage as TestNG Suite跑用例  5.3 跑后结果  5.4 导出HTML报告   5.5 导入导出合并覆盖率Session  5.6 测试引用的jar包的覆盖率 1 测试覆盖率实现技术 返回 Instrumentation:代码注入,在产品代码的关键位置插入统计代码

测试覆盖率工具EclEmma安装与使用

此文来自于:https://www.cnblogs.com/cnsdhzzl/p/7638883.html EclEmma的简介 一个优秀的开源软件测试工具 eclipse的一个插件 能够对由 Java 语言编写的程序进行覆盖测试 能够在工作平台中启动 直接对代码覆盖进行分析 覆盖结果将立即被汇总并在Java源代码编辑器中高亮显示 也可程序运行的结果生成详尽的覆盖测试报告 可以结合JUnit使用 工作原理:Class Instrumentation(把统计代码插入编译好的.class文件) 测试

多环境多需求并行下的代码测试覆盖率统计工具实现

马蜂窝技术原创内容,更多干货请关注公众号:mfwtech 测试覆盖率常被用来衡量测试的充分性和完整性,也是测试有效性的一个度量.「敏捷开发」的大潮之下,如何在快速迭代的同时保证对被测代码的覆盖度和产品质量,是一个非常有挑战性的话题. 在马蜂窝大交通.酒店等交易相关业务中,项目的开发和测试实践同样遵循敏捷的原则,迭代周期短.速度快.因此,如何依据测试覆盖率数据帮助我们有效判断项目质量.了解测试状态.提升迭代效率,是我们一直很重视的工作. Part.1 测试覆盖率统计中的挑战 对于功能测试而言,通常

常用工具说明--Java的常用工具

1.Eclipse.IntelliJ IDEA Eclipse是IDE领域的瑞士军刀,有着大量定制的接口和无数的插件.它无处不在,后面本文将推荐的其他所有工具都提供Eclipse插件. Eclipse的工作流程可分为三个方面:工作台,工作空间和视角.工作台作为到IDE的出发点.工作空间将项目.文件和配置设置组合在一个单独的目录下.视角定义工具.视图和有效设置.虽然新手开发人员可能会觉得相比Netbeans和IntelliJ IDEA,Eclipse使用起来更难,但Eclipse的灵活性,使其成为

java 测试框架

项目开发过程中使用的单元测试框架有Junit.TestNG以及Mockito,Junit和TestNG使用的比较多,Mockito最近才开始使用. TestNG与JUnit的相同点 1. 使用annotation,且大部分annotation相同. 2. 都可以进行单元测试(Unit test). 3. 都是针对Java测试的工具. TestNG与JUnit的不同点: 1. JUnit只能进行单元测试,TestNG可以进行单元测试,功能测试,端到端测试,集成测试等. 2. TestNG需要一个额

spring && Cobertura && maven &&junit 单元测试以及测试覆盖率

1. 目的: junit 单元测试,Cobertura   测试覆盖率报告 项目目录结构 2. maven 配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mave

cobertura代码测试覆盖率使用案例

1 . 概念 Cobertura 是一款优秀的开源测试覆盖率统计工具,它与单元测试代码结合,标记并分析在测试包运行时执行了哪些代码和没有执行哪些代码以及所经过的条件分支,来测量测试覆盖率.除了找出未测试到的代码并发现 bug 外,Cobertura 还可以通过标记无用的.执行不到的代码来优化代码,最终生成一份美观详尽的 HTML 覆盖率检测报告. 2 . Maven集成Cobertura 2.1 pom.xml配置 <!-- 测试覆盖率插件 -->               <plug

怎么实现在jenkens页面配置sonar,以及如何利用cobertura插件实现sonar页面显示测试覆盖率

最近我在工作中遇到需要给项目中每个模块配置Sonarqube,来看看测试用例覆盖的情况.在这个过程中遇到了一些问题,也查了很多资料.现在记录一下具体应该怎么配置. 先展示一下实现的效果: 图一 It will show: 图二 现在来看看具体配置: 要enable Sonarqube, 需在 job --> configure --> Post-build Actions 配置Branch 和 JDK 信息: 图三 配置好了以后,SonarQube 可以在页面上显示出来了,点击进去,效果图:[

8个超实用的Java测试工具和框架

Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK--Java Development Kit(Java开发工具包),它自带有Java Runtime Environment(JRE)和JVM(Java运行时环境).它能让你在自己的电脑上编译.运行.测试你的Java程序. 此外,你还需要IDE(集成开发环境).选择有很多,如IntelliJ.Eclipse和NetBeans. Java测试工具 下面是我精选的8个最棒的Java测试工具和框架. 1.Arquillia