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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cobertura代码测试覆盖率使用案例相关的知识,希望对你有一定的参考价值。

1 . 概念

Cobertura 是一款优秀的开源测试覆盖率统计工具,它与单元测试代码结合,标记并分析在测试包运行时执行了哪些代码和没有执行哪些代码以及所经过的条件分支,来测量测试覆盖率。除了找出未测试到的代码并发现 bug 外,Cobertura 还可以通过标记无用的、执行不到的代码来优化代码,最终生成一份美观详尽的 html 覆盖率检测报告。

2 . Maven集成Cobertura

2.1 pom.xml配置

<!-- 测试覆盖率插件 -->
              <plugin>
                   <groupId>org.codehaus.mojo</groupId>
                   <artifactId>cobertura-maven-plugin</artifactId>
                   <configuration>
                       <formats>
                            <format>html</format>
                            <format>xml</format>
                       </formats>
                   </configuration>
              </plugin>

2.2 运行

在工程根目录运行

mvn cobertura:cobertura

输出结果:

project_base$\target\site\cobertura\index.html

技术分享

3 . 统计指标

代码覆盖率 = (被测代码 / 代码总数)* 100%。

3.1行覆盖

LineCoverage

它又被称作语句覆盖或基本块覆盖。这是一种较为常用且具有代表性的指标,度量的是被测代码中每个可执行语句是否被执行到。

3.2 条件覆盖

BranchCoverage

它度量的是当代码中存在分支时,是否能覆盖进入分支和不进入分支这两种情况。这要求开发人员编写多个测试用例以分别满足进入分支与不进入分支这两种情况。

3.3 路径覆盖

 

3.4 复杂度

complexity


本文出自 “10950988” 博客,请务必保留此出处http://10960988.blog.51cto.com/10950988/1791055

以上是关于cobertura代码测试覆盖率使用案例的主要内容,如果未能解决你的问题,请参考以下文章

maven 多模块项目上的 cobertura

实践Jenkins集成Cobertura自动化构建SpringBoot工程

干货分享实践Jenkins集成Cobertura自动化构建SpringBoot工程

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

SONAR - 使用 Cobertura 测量代码覆盖率

使用 Cobertura 从代码覆盖中排除方法