美文网首页程序员
jacoco-java测试覆盖率工具

jacoco-java测试覆盖率工具

作者: 呜啼 | 来源:发表于2017-09-11 10:46 被阅读0次

1 为什么要关注测试覆盖率

    覆盖率是程序编程的最后一环,单元测试验证代码,而覆盖率验证测试用例。

   代码覆盖率常常被拿来作为衡量测试好坏的指标

   开发关注覆盖率是为了更加深入的测试代码,不留死角,避免隐藏bug的出现

   在对外说“代码很牛,没有bug”的时候,说服别人需要有数据

2 jacoco是什么

JaCoCo是一个开源的覆盖率工具(官网地址: http://www.eclemma.org/JaCoCo/ ),

它针对的开发语言是java。

实现:使用asm动态修改字节码,在代码中进行打桩,从而进行统计。

模式:插件模式、命令行模式

使用:1 执行测试用例的时候使用jacoco参数,会生成覆盖率分析文件。2 使用jacoco命令根据exec文件生成覆盖率报告。

数据指标:

指令级覆盖(Instructions,C0coverage)

分支(Branches,C1coverage)

圈复杂度(CyclomaticComplexity)

行覆盖(Lines)

方法覆盖(non-abstract methods)

类覆盖(classes)

3  怎样分析测试覆盖率

IDE方式、gradle、jenkins持续集成

IDE方式:IDEA内部实现了测试覆盖率的插件,使用方便

在Run/Debug configuration界面中的Code Coverage tab页中进行配置,在2、3处可以自定义分析类或者包。

使用gradle插件

在目前的项目使用的是gradle构建工具,项目中使用了java、jacoco插件,tasks中有jacoco默认的任务jacocoTestReport。运行该任务的前提是要执行test任务,即要执行测试用例。

jenkins插件方式

先执行测试用例,再执行sonar静态分析,如果静态分析不通过,则本次构建失败;如果sonar通过,则jacoco分析.exec文件,得出覆盖率。

覆盖率文件(执行测试用例之后会生成)

class文件路径

java源文件路径(如果找不到,看不到具体的代码覆盖信息)

分析的java代码路径

排除的java文件

构建的指标(max、min)

构建失败指标

4 检测有意义的代码

检测的代码:

服务实现类

工具类

线程相关类

不用检测的代码:

entity类

数据库操作类

异常定义类

常量类

枚举

VO等

生成的代码

5 如何提升测试覆盖率

多写测试用例

相关文章

  • jacoco-java测试覆盖率工具

    1 为什么要关注测试覆盖率 覆盖率是程序编程的最后一环,单元测试验证代码,而覆盖率验证测试用例。 代码覆盖率...

  • 当谈论覆盖率时我们在谈什么?

    代码覆盖率 vs. 测试覆盖率 代码覆盖率通常指跑完测试后, 由工具自动统计的在跑测试的过程中被测代码的覆盖率, ...

  • Coverage——Django代码覆盖率测试

    Coverage——Django代码覆盖率测试 Coverage是一个用来测试python程序代码覆盖率的工具,它...

  • Pytest08-pytest工具与插件

    8.pytest工具与插件 8.1 converage.py-代码覆盖率     测试覆盖率是指项目代码被测试用例...

  • 覆盖率概念

    一、覆盖率的概念 覆盖率是用来度量测试完整性的一个手段,现在有越来越多的测试工具能够支持覆盖率测试,但是它们本身并...

  • 代码覆盖率生成工具gcov/lcov

    一、代码覆盖率生成工具gcov 1.1.gcov工具简介 gcov是代码覆盖率测试工具,与GCC一同使用,且只能用...

  • golang覆盖测试检测

    工具 分析测试代码的覆盖率 1. 查看整体的覆盖率 cd 项目的根目录go test -cover 2. 覆盖率分...

  • 03_测试覆盖率

    测试覆盖率 学习目标 掌握各种测试覆盖率的含义 能计算各种测试覆盖率 理解覆盖率在白盒测试中所起的作用 覆盖率概念...

  • 谷歌是怎么做测试的--测试认证

    级别1: 使用测试覆盖率工具; 使用持续集成; 测试分级为小型、中型、大型; 明确标记哪些测试是非确定性的测试(非...

  • 自动化测试框架pytest教程9-覆盖率

    覆盖率简介 测量代码覆盖率的工具在测试套件运行时观察你的代码,并跟踪哪些行被运行,哪些没有。这种测量被称为行覆盖率...

网友评论

    本文标题:jacoco-java测试覆盖率工具

    本文链接:https://www.haomeiwen.com/subject/kmbxsxtx.html