单元测试-代码覆盖率工具 -- JaCoCo

  最近学习Mybatis的官方文档,看到了【项目文档】一节有很多内容没有见过,做个笔记,理解一下。

  随着敏捷开发的流行,编写单元测试已经成为业界共识。但如何来衡量单元测试的质量呢?有些管理者片面追求单元测试的数量,导致底下的开发人员投机取巧,编写出大量的重复测试,数量上去了,质量却依然原地踏步。相比单纯追求单元测试的数量,分析单元测试的代码覆盖率是一种更为可行的方式。JaCoCo(Java Code Coverage)就是一种分析单元测试覆盖率的工具,使用它运行单元测试后,可以给出代码中哪些部分被单元测试测到,哪些部分没有没测到,并且给出整个项目的单元测试覆盖情况百分比,看上去一目了然。EclEmma 是基于 JaCoCo 的一个 Eclipse 插件,开发人员可以方便的和其交互。因此,本文先从 EclEmma 入手,给读者一个直观的体验。

   参考: JaCoCo:分析单元测试覆盖率的利器

  

我在猜想这个eclipse插件的逻辑是:

    1. 每个程序文件对应一个线性数组,数组长度和行数对应。
    2. 然后,类似于开启debug模式,每执行一行,都会对数组相应行计数器加1.
    3. 最后,就是结果的展现,分eclipse和html版。
            根据每一行程序对应的计数器大小着色。

  

这个工具有哪些应用场景呢?

  1. 测试人员的绩效考核。所编写的单元测试代码,是否有很好的代码覆盖率。

  

时间: 2024-10-17 10:13:05

单元测试-代码覆盖率工具 -- JaCoCo的相关文章

3、学习单元测试代码覆盖率工具的使用(1)把一个英语句子中的单词次序颠倒后输出。

import java.util.Scanner; public class TestTest { public static void main(String [] a){ Scanner in=new Scanner(System.in); while(true){ String s=in.nextLine(); if(s.equalsIgnoreCase("quit")){ System.exit(0); } String[] ss=s.split("\\s+"

单元测试和代码覆盖率工具的使用

1. 学习单元测试和代码覆盖率工具的使用 (1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示.(单词之间用空格隔开,如“Hello World My First Unit Test”): 1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.Comparator; 4 import java.util.HashMap; 5 import java.ut

3137102440_曹庆发。单元测试和代码覆盖率工具的使用

1. 学习单元测试和代码覆盖率工具的使用 (1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示.(单词之间用空格隔开,如“Hello World My First Unit Test”): 1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.Comparator; 4 import java.util.HashMap; 5 import java.ut

Maven工程配置代码覆盖工具Jacoco

本篇博文我们将给出示例理解如何在Maven工程中配置Jacoco和如何使用Jacoco查看代码覆盖报告~ Jacoco是一个开源的Java代码覆盖率工具,Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序.很多第三方的工具提供了对Jacoco的集成,如sonar.Jenkins等. Maven工程 创建Maven工程 打开Eclipse,File->New->Project->Maven Projec

Emma:Java代码覆盖率工具

这里主要结合几篇文章分享一下个人理解的emma的简单使用.复杂功能还需要以后进一步学习. 主页: http://emma.sourceforge.net 详细文档介绍:http://emma.sourceforge.net/reference/reference.html 这篇文章中介绍的Emma比较清晰,本文主要内容来自于它:http://nitintalk.wordpress.com/tag/jar-instrumentation-with-emma/ Emma配置 Emma比较简洁,主要包

JAVA代码覆盖率工具JaCoCo-原理篇

1.2 JAVA覆盖率工具介绍 1.3.3 Apache Maven方式 1.3.4 Eclipse EclDmma Plugin方式 JAVA代码覆盖率工具JaCoCo-实践篇 一.覆盖率项目中使用介绍 1.5执行测试,收集覆盖率结果文件 1.5.1AndroidManifest文件的修改 1.5.2生成覆盖率的apk工具和jacoco-cov-sdk.jar包 二.覆盖率与BVT测试结合 2.1在BVT用例框架中插入覆盖率方法 2.2执行BVT用例,得到覆盖率 2.3批量生成覆盖率报告,解析

C++代码覆盖率工具Coverage Validator

市面上的C++代码覆盖率工具大都收费,Coverage Validator也不例外.Coverage Validator应该少有人听过,我也是在stackoverflow里听别人介绍的.所以下载了试用一下.有兴趣的朋友可以去https://www.softwareverify.com/cpp/coverage/index.html了解一下更多东西,上面提供有30天试用版本. 之前试过CoverageMeter,使用起来也是蛮方便的,主要原理是替换了原有的编译器,在代码中进行插桩.因此,Cover

C++开源代码覆盖率工具OpenCppCoverage介绍(Windows)

http://www.cnblogs.com/coderzh/p/OpenCppCoverage.html 关于代码覆盖率统计工具,Linux平台下,gcc内置支持gcov,通过编译时加参数选项,进行代码插桩,从而实现代码覆盖率.在Windows平台下,早在几年前,我还没找到特别好用又开源的覆盖率工具,所以以前公司是自己实现了一套,使用起来也不是很方便. 最近又遇到同样的问题,不过非常幸运的是,一款开源的Windows平台的C++代码覆盖率工具出现了在我的面前:OpenCppCoverage.

使用JaCoCo统计单元测试代码覆盖率

1 JaCoCo介绍 JaCoCo是EclEmma团队基于多年覆盖率库使用经验总结而研发的一个开源的Java代码覆盖率库. 2 Maven单模块接入 在工程的pom.xml文件中添加如下内容: <build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>