怎么使用Jacoco统计服务端代码覆盖率
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,怎么使用Jacoco统计服务端代码覆盖率,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 前言使用 Python + Coverage
千家信息网最后更新 2025年02月06日怎么使用Jacoco统计服务端代码覆盖率首先,编写一段简单的被测代码,根据考试成绩返回不同的结果 然后,在 test 测试文件夹内, 编写测试类和单元测试方法 @RunWith(SpringRunner.class) 、 @SpringBootTest 用于注解测 试类,表明当前类作为一个测试类处理 接着,在测试类中以 Junit 的 @Test 注解定义 3 个单元测试方法 最后,在 Terminal 指向项目根目录,输入 mvn test jacoco:report 命令生成代码覆盖率报告 代码覆盖率报告目录在 :./target/site/jacoco
怎么使用Jacoco统计服务端代码覆盖率,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1. 前言
使用 Python + Coverage 来统计测试用例的代码覆盖率
Jacoco 针对 Java 语言的一款开源的覆盖率工具,可以嵌入到 Maven、Gradle 中,提供多种尺度的覆盖率计数器,比如:类覆盖、行覆盖、分支覆盖等
本篇将聊聊服务端代码的覆盖率统计,以 Spring Boot 项目为例,使用 Jacoco + junit 来统计服务端的代码覆盖率
2. 准备
首先使用 IDEA 创建一个 Spring Boot 项目( Maven ),以之前 构建 RESTFul API 的项目 代码为基础
然后,配置 pom.xml 文件,为当前项目新增 jacoco 依赖 JAR 包
org.jacoco
jacoco-maven-plugin
0.8.5
jacoco 版本可以参考:
https://www.eclemma.org/jacoco/index.html
接着,配置 Jacoco 插件及相关的 goal,使用 includes 和 excludes 两个关键字设定包含或排除的类路径
比如:这里只统计 com.xingag.api.service 下面的类
org.jacoco
jacoco-maven-plugin
0.8.5
com/xingag/api/service/*
prepare-agent
prepare-agent
check
check
report
prepare-package
report
最后,点击右上角的 Maven 同步,下载依赖并配置项目
3. 实战一下
//ScoreServiceImpl.java
package com.xingag.api.service;
//被测代码
public class ScoreServiceImpl {
public String getScoreLevel(int score) {
String result;
if (score > 90) {
result = "优秀";
} else if (score < 90 && score >= 75) {
result = "良好";
} else if (score >= 60) {
result = "合格";
} else if (score > 40) {
result = "不合格";
} else if (score >= 0) {
result = "差";
} else {
result = "成绩格式不正确";
}
return result;
}
}
//ScoreTests
//测试类
@RunWith(SpringRunner.class)
@SpringBootTest
public class ScoreTests {
...
}
//ScoreTests.java
//定义测试方法
//成绩优秀
@Test
public void testLevelA() {
Assert.assertEquals(RESULT_LEVEL[0], scoreService.getScoreLevel(95));
}
//成绩良好
@Test
public void testLevelB() {
Assert.assertEquals(RESULT_LEVEL[1], scoreService.getScoreLevel(80));
}
//成绩及格
@Test
public void testLevelC() {
Assert.assertEquals(RESULT_LEVEL[2], scoreService.getScoreLevel(70));
}
用浏览器打开统计报告文件夹中的 index.html 文件,可以很直观的查看单元测试覆盖率及对应测试类的具体覆盖范围
看完上述内容,你们掌握怎么使用Jacoco统计服务端代码覆盖率的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
代码
覆盖率
测试
统计
项目
成绩
方法
服务
文件
单元
报告
配置
优秀
良好
内容
文件夹
更多
注解
问题
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
海量数据聚合 用什么数据库
can总线网络安全
如何做数据库截断
软件开发收入账务处理
数据库组合题
网络技术教育的优缺点
陕西超频服务器解决方案
全球网络安全十大公司排名
igix数据库
和数据库连接的技术
软件开发公司的会计核算
北京软件开发外包公
搭建流媒体服务器与应用服务器
有奖网络安全知识
博兴家装erp软件开发
网络技术基础作用大吗
安装数据库找不到程序怎么办
数据库的组成有哪些
大型计算机系统使用的数据库是
河南网络安全审计工控整机
极光im无法连接服务器
服务器25g网卡型号
客户服务器数据库优势
网站服务器管理分哪几个部分
网络安全知识竞赛题库中学生
法院网络安全研究所
厦门网络安全腾奥公司
机房服务器设备验收报告
一元服务器
群众网络安全意识微信快手