Eclipse使用Jacoco验证测试用例的代码覆盖率

告别低效测试!用EclEmma插件快速提升Java代码覆盖率(Eclipse版) 本文详细介绍了如何在Eclipse IDE中利用EclEmma插件高效提升Java代码测试覆盖率。通过图文并茂的安装配置指南、实战案例演示以及深度报告解读,帮助开发者告别低效测试,系统性地将覆盖率分析融入开发流程,从而精准提升代码质量和测试有效性。 阅读详情

Jacoco插件安装

Eclipse下依次点击 Help->Eclipse Marketplace->搜索EclEmma
在这里插入图片描述
接下来按步骤安装即可。
安装成功后,在Window->Show View->Other中找到Coveage可以打开界面

编写测试用例

首先写个类JacocoCoverage作为基础代码

package com.topjoy.qty;

/**
 * 使用jacoco检测测试用例的代码覆盖率
 * 
 * @author Qin Tingyin
 */
public class JacocoCoverage {

	public static String name = "forTest";

	public static JacocoCoverage instance = new JacocoCoverage();

	/**
	 * 使用try catch捕获异常
	 */
	public void catchSomeThing() {
		try {
			System.out.println("你觉得我会抛错吗?");
			// throw new RuntimeException();
		} catch (Exception e) {
			System.out.println("出异常了。");
			e.printStackTrace();
		}
	}

	/**
	 * 随便打印
	 */
	public void doSomeThing() {
		System.out.println("这是一个方法 名字叫doSomeThing");
	}

}

针对上面的类做测试用例:

package com.topjoy.qty;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class JacocoCoverageTest {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void test() {
		// JacocoCoverage.instance.doSomeThing();
		JacocoCoverage.instance.catchSomeThing();
	}

}

验证代码覆盖率

编写成功后右键项目选择Coverage As -> JUnit Test,
执行后效果如图:
在这里插入图片描述
在这里插入图片描述
可以看到每个方法中执行到的代码和未执行的代码

小结

通过Eclipse插件可以快速验证测试用例的代码覆盖率,在大型项目中,合格的测试用例覆盖率能够很好的减少因临时修改代码而导致的重大BUG,但不建议盲目追求代码覆盖率,尤其是中小型项目。

Java代码覆盖率测试实战:Jacoco原理、集成与高级应用指南 代码覆盖率测试是衡量软件测试完整性的关键技术指标,它通过分析测试执行过程中代码的覆盖情况,帮助开发者识别未测试的代码路径。其核心原理基于字节码插桩技术,在程序运行时动态注入探针来收集执行数据。这项技术的价值在于为代码质量提供客观度量,驱动编写更健壮的测试用例,有效降低线上缺陷风险。在Java生态中,Jacoco凭借其与Maven、Gradle等构建工具的无缝集成、低性能开销和丰富的报告能力,已成为覆盖率测试的事实标准。本文聚焦于Jacoco的实战应用,详细解析其On-the-fly插桩模式的工作原理,并提供 阅读详情

相关推荐

Eclipse插件EclEmma实现代码覆盖率测试完整指南

代码覆盖率是衡量测试用例执行过程中对源代码触及程度的量化指标,反映程序中语句、分支、路径等被实际运行的比例。它通过统计已执行代码与总可执行代码之间的比率,帮助团队识别测试盲区。常见的覆盖类型包括行覆盖率方法覆盖率类覆盖率(Class Coverage)和分支覆盖率(Branch Coverage),其中分支覆盖更严格,要求每个判断条件的所有可能路径均被执行。// 示例:简单if语句的分支覆盖需求System.out.println("正数");// 分支1。

weixin_34618526的博客 793

Jacoco+Eclipse简单操作

Jacoco+Eclipse

myfwjy的博客 9339

JUnit单元测试实验:条件覆盖法与JaCoCo白盒验证实战

单元测试是软件质量保障的基础工程实践,其核心在于通过逻辑覆盖原理(如语句覆盖、判定覆盖、条件覆盖)对程序控制流图进行可验证的探查。条件覆盖法要求每个原子条件至少取真/假各一次,显著提升缺陷检出率,尤其适用于含复合布尔表达式的业务逻辑验证。结合JUnit框架编写可重复、无交互的断言测试,并借助JaCoCo生成覆盖率报告,能将抽象的测试理论转化为Eclipse环境下的可执行、可度量、可追溯的质量证据链。本文以Java时间区间计费逻辑为例,详解从用例设计、断言实现到覆盖率分析的完整闭环,覆盖Junit单元测试、J

weixin_26833139的博客 217

Jacoco在eclipse上的集成使用

  随着敏捷开发的流行,编写单元测试已经成为业界共识。但如何来衡量单元测试的质量呢?有些管理者片面追求单元测试的数量,导致底下的开发人员投机取巧,编写出大量的重复测试,数量上去了,质量却依然原地踏步。相比单纯追求单元测试的数量,分析单元测试的代码覆盖率是一种更为可行的方式。JaCoCo(Java Code Coverage)就是一种分析单元测试覆盖率的工具,使用它运行单元测试后,可以给出...

a7412605567的博客 1022

EclEmma和JaCoCo简介与使用说明

EclEmma是一个免费的用来测试Java代码覆盖率的Eclipse插件,可以用EclEmma直接在Eclipse工作区中测试Java程序,分析代码覆盖率,并且在Java编辑器中高亮显示源文件的代码覆盖情况。

量化金融笔记1-股票量化基础

股票量化基础 文章目录什么是股票股票的定义及其诞生所解决的问题股票的主体和流通股票的常规分类股票价格收益率什么是股票价格的收益率股票价格收益率计算在python中的实现两种收益率算法的特点及应用场合股票交易规则场内交易与场外交易A股、B股、H股国内多层次的资本市场股票交易指令和撮合机制股票交易时间股票交易成本股票复权股票数据介绍与提取行业分类和指数行情数据因子数据标的数据基本面数据 什么是股票 股票的定义及其诞生所解决的问题 股票的定义:股票是一种有价证券,是股份有限公司公开发行的用以证明投资者的股东身份

折桂狂人的博客 2395

Jacoco + EclEmma

3. 运行单元测试或启动被测应用以生成覆盖率数据文件。Jacoco 是一个代码覆盖率库,可用于计算 Java 代码的单元测试覆盖率。有了覆盖率数据,您可以打开 Eclipse 的 Coverage 视图来查看已加载的类的覆盖率摘要。还可以通过单击类名、打开工具提示或使用右键菜单中的其他选项来查看每个类的更详细的覆盖率分析。总之,Jacoco 和 EclEmma 一起工作是一个强大的代码覆盖率演示工具组合,它可以帮助您了解您的代码库中哪些区域得到了测试覆盖和哪些部分需要进行更多的单元测试。

ooooosss666的博客 309

[南大ICS-PA2]PA2 - 简单复杂的机器:冯诺依曼计算机系统

mips32和riscv32的指令长度只有32位, 因此它们不能像x86那样, 把C代码中的32位常数直接编码到一条指令中. 思考一下, mips32和riscv32应该如何解决这个问题?加载立即数到寄存器的高20位,然后便可以是哟给你标准的立即指令来创建32位常量。在程序分析领域中,静态指令是指程序代码中的指令,动态指令是指程序运行过程中的指令,例如对于一下指令序列。位域,在小端机器上,先定义的在每个字节的低位,后定义的在每个字节的高位。,这是处理非法指令的宏,其定义在。指令,而下一条动态指令则是。

qq_42474104的博客 928

Jacoco覆盖率工具使用(已测试)

1两种方式1.1 eclipse直接安装插件测试install new soft 安装插件 eclemma java code coverage运行 结果 插件导出单元测试报告 1.2 通过maven加入插件,打印单元测试报告pom.xml文件中加入对应的部分,plugin部分<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs

whx405831799的专栏 2万+

表格数据学习的图神经网络综述

今天学习一篇发表在中科院一区期刊《ACM Computing Surveys》的综述文章《Graph Neural Networks for Tabular Data Learning: A Survey with Taxonomy & Directions》,该刊主要刊载计算机理论方法领域的系统性综述与教程论文,注重跨学科技术融合研究,最新的影响因子为28.0。本文的目的在于通过学习这篇文章,了解关于表格数据学习点图神经网络一些基础知识。

qq_41009600的博客 800

ChatGPT and Claude国内使用站点

这篇博客介绍了不同的AI聊天平台和定价信息,主要对比了ChatGPT和Claude两款产品。文章列出了多个提供聊天服务的AI平台,包括RawChat、ChatGPTPlus、ChatOpens、Wildcard和2233.ai等,并提供了每个平台的网页链接和定价详情。特别关注了Claude平台,介绍了其普通账号与会员账号的不同,以及相关的定价信息。此外,还提到了一些虚拟卡定价和服务细节,为用户选择合适的AI服务提供了多种参考。

nisidjndn的博客 1万+

测试盲区终结者!一招搞定手动测试覆盖率,用Jacoco全流程监控

Jacoco是一个开源的Java代码覆盖率工具,主要用于自动化测试,但通过特定配置,它也能用于测量手动测试的覆盖率。在Eclipse中启动应用并附加Jacoco代理后,可以记录手动测试过程中执行的代码行,生成详细的覆盖率报告。这对于确保手动测试全面覆盖代码至关重要,尤其是在自动化测试难以触及的场景中。通过分析覆盖率报告,可以发现手动测试中可能遗漏的区域,从而提升测试的全面性和效率。

朱雀随云记的博客 1327

零基础玩转华为AP 4050DN-HD:FAT模式家庭无线网络配置实战

本文为零基础用户提供华为AP 4050DN-HD从FIT模式转换为FAT模式的完整实战教程。详细介绍了固件升级、模式转换以及配置家庭无线网络(包括路由、DHCP、Wi-Fi和NAT)的每一步操作,帮助用户将企业级瘦AP改造为高性能家庭胖AP,打造稳定可靠的家庭网络环境。

weixin_29196613的博客 630

Java环境搭建时如何配置测试环境

确保JDK、Java单元测试可以通过构建工具、IDE和测试框架来稳定进行。不复杂但容易忽略细节,如依赖范围错误或路径未刷新。Java测试环境的核心是确保一致的开发、编译和操作环境,并集成常用的测试工具。如何构建一个实用的Java测试环境。如果测试通过,则表明测试环境配置成功。安装JDK,配置环境变量。简单的测试用例验证了环境。配置IDE支持测试运行。建筑工具的选择和集成。

sillyoung的博客 307

2025-03-21(DS复习): Databricks 的技术架构

Databricks 的技术架构以 ​为核心,构建了一套高度集成、可扩展且支持多云环境的统一分析平台。其架构设计注重存储与计算的深度融合,并通过丰富的服务层功能简化了数据工程、机器学习和数据科学的工作流。

baidu_24377669的博客 1428

使用Kolla部署多节点Rocky版本OpenStack

openstack命令行客户端使用,post-deploy会在 /etc/kolla/目录下生成文件admin-openrc.sh。每次使用openstack命令时执行source /etc/kolla/admin-openrc.sh(manager节点执行)source /etc/kolla/admin-openrc.sh (将文件内容复制到/etc/profile中,即可一直生效)3.2.2 开始安装kolla-ansible,要带上--ignore-installed PyYAML,否则可能会报错。

gyc1206的博客 1926

jacoco代码覆盖率简介及入门使用

一:前言 分析未覆盖部分的代码,从而反推在前期测试设计是否充分? 没有覆盖到的代码是否是测试设计的盲点?为什么没有考虑到? 需求/设计不够清晰?测试设计的理解有误? 以上的相关问题相信身为测试人员大家都遇到过这种窘境.......往往造成系统某些功能的策略性放弃或之后进行补充测试用例设计。 作为一个合格的测试人员,保证产品的软件质量是其工作首要目标,为了这个目标,测试人员常常会通过很多手段或工具来加以保证,覆盖率就是其中一环比较重要的环节。 通常我们会将测试覆盖率分为两个部分,...

干饭银的足迹——博客 1391

ResNet改进(7):添加 SK注意力机制

实现 SK 注意力机制。

2401_82355416的博客 732

JavaWeb项目基于JaCoCo+Tomcat+Eclipse的代码覆盖率采集实践

代码覆盖率是衡量软件质量的核心指标之一,其原理基于字节码插桩技术,在JVM加载类时注入探针并记录执行状态。这一指标并非单元测试专属,对于部署在Tomcat中的JavaWeb项目,同样可以通过JaCoCo代理在运行期采集完整覆盖数据。本文以Eclipse为开发环境,详细介绍了为Tomcat配置JaCoCo实现代码覆盖率统计的完整方案,包括javaagent的三种接入方式、exec数据导出以及HTML报告生成,并结合常见问题给出排查思路。内容兼顾技术原理与工程落地,适合需要为遗留JavaWeb项目补充覆盖率数据

weixin_28832121的博客 189

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Jacoco代码覆盖率为0问题排查

Jacoco代码覆盖率全为0 IDEA和Eclipse生成测试类 catch代码未覆盖

4907

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Java代码覆盖率历史发展轨迹

这里写自定义目录标题0 覆盖率定义1 EMMA1.1 maven 集成1.2 与jenkins集成1.3 插桩坑总结2 jacocoJaCoCo优势JaCoCo基本概念JaCoCo 原理注入方式JaCoCo同时支持on-the-fly和offline的两种插桩模式On-the-fly插桩:Offline模式:On-the-fly和offline比较:使用antmaven 项目插件3 总结参考 0 ...

JavaEdge全是干货的技术号 2491

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

覆盖率工具jacoco

1、工具介绍

weixin_35703883的博客 526

Eclipse+Tomcat下JavaWeb项目JaCoCo覆盖率配置详解

代码覆盖率是衡量测试充分性、定位核心路径与死代码的关键指标,也是质量门禁与项目重构的重要依据。JaCoCo作为主流的Java覆盖率工具,通过JVM的-javaagent参数实现字节码插桩,在不改动业务代码的前提下动态收集执行数据,与Eclipse和Tomcat这类传统开发环境天然契合。其价值在于无论是手工回归还是脚本化接口调用,都能真实反映容器内运行路径的覆盖情况。对于遗留JavaWeb项目,结合jacococli生成报表,或借助Maven插件自动化统计单元测试覆盖率,可快速建立可视化度量体系。本文从JaC

weixin_33940469的博客 167

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

总目录 JAVA代码覆盖率工具JaCoCo-原理篇 1.2JAVA覆盖率工具介绍 1.3.3ApacheMaven方式 1.3.4EclipseEclDmmaPlugin方式 JAVA代码覆盖率工具JaCoCo-实践篇 一、覆盖率项目中使用介绍 1.5执行测试,收集覆盖率结果文件 1.5.1AndroidManifest文件的修改 1.5.2生成覆盖率的apk工具和j...

weixin_30549175的博客 262

新开发项目Jacoco代码覆盖率

一般只有新的项目才会去用JaCoCo工具看一下代码覆盖率, 一来看看测试有没有漏的测试用例 二来看看开发有没有留下冗余的代码 新开发项目Jacoco代码覆盖率后端接口打成jar包,进行启动 #executet1=$(date)nohup /opt/converse_jar_QA/bin/jdk1.8.0_131/bin/java -javaagent:/opt/jacoc...

weixin_33853827的博客 198

jacoco入门_JaCoCo入门使用(基于Maven+TestNG)

参考链接:* https://www.cnblogs.com/fnng/p/7923314.html* https://www.jacoco.org/* https://www.eclemma.org/jacoco/* https://ningyu1.github.io/site/post/77-jenkins-sonarqube-jacoco-junit/一、Jacoco简介:1. JaCoCo...

weixin_39702480的博客 914
上一篇: 简单学习ConcurrentHashMap实现线程安全的原理
下一篇: 模板方法模式和策略模式的应用场景浅析
封何
博客等级 码龄14年 13粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值