单元测试-代码覆盖率工具 -- JaCoCo
最近学习Mybatis的官方文档,看到了【项目文档】一节有很多内容没有见过,做个笔记,理解一下。
随着敏捷开发的流行,编写单元测试已经成为业界共识。但如何来衡量单元测试的质量呢?有些管理者片面追求单元测试的数量,导致底下的开发人员投机取巧,编写出大量的重复测试,数量上去了,质量却依然原地踏步。相比单纯追求单元测试的数量,分析单元测试的代码覆盖率是一种更为可行的方式。JaCoCo(Java Code Coverage)就是一种分析单元测试覆盖率的工具,使用它运行单元测试后,可以给出代码中哪些部分被单元测试测到,哪些部分没有没测到,并且给出整个项目的单元测试覆盖情况百分比,看上去一目了然。EclEmma 是基于 JaCoCo 的一个 Eclipse 插件,开发人员可以方便的和其交互。因此,本文先从 EclEmma 入手,给读者一个直观的体验。
我在猜想这个eclipse插件的逻辑是: 1. 每个程序文件对应一个线性数组,数组长度和行数对应。 2. 然后,类似于开启debug模式,每执行一行,都会对数组相应行计数器加1. 3. 最后,就是结果的展现,分eclipse和html版。 根据每一行程序对应的计数器大小着色。
这个工具有哪些应用场景呢?
1. 测试人员的绩效考核。所编写的单元测试代码,是否有很好的代码覆盖率。
作者:木木