Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JaCoCo 与Cobertura 的对比

JaCoCo 与Cobertura 的对比

作者头像
JavaEdge
发布于 2020-05-26 09:03:50
发布于 2020-05-26 09:03:50
1.5K0
举报
文章被收录于专栏:JavaEdgeJavaEdge

0 二者总体功能对比

  • Open Cover 官方给出的详细对比 http://openclover.org/doc/manual/latest/general–comparison-of-code-coverage-tools.html#Comparisonofcodecoveragetools-legend

1 数据结构对比

1.1 UML 图

cobertura

net.sourceforge.cobertura.coveragedata

JaCoCo

org.jacoco.core.internal.analysis

都差不多,公共的都支持分支,方法,类,包的覆盖率统计

1.2 核心结构

JaCoCo

方法指令的有状态生成器.一个方法的所有指令必须按照它们的原始顺序加上附加信息,如行号。 之后,可以使用getInstructions方法获得ASM指令map

对于该指令生成器结构,封装的是 boolean 数组的探针,无法实现计数,因此需要考虑改造成 int 型数组,之后如何去接收 int 值也是问题.

Cobertura

但是 Cobertura 的 lineData 覆盖类型还维护了 hit 字段,用于记录触发次数,符合当前需要

2 客户操作自由度

2.1 框架热插拔植入

  • JaCoCo 目前最为熟悉的框架,需要将功能完善的代码打成 jacocoagent.jar 后,通过JDK6 instrument API 热部署到客户程序中.
  • Cobertura 和 jacoco 一样从 JDK5 开始设计的框架,都不支持热插拔,这里都需要需要改动

2.2 定时任务

都需要适配

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jacoco不是奶茶,却像奶茶一样美味,不尝一下吗?
距离上篇文章挺久的了,天天的也不知道在干嘛,时间就溜过去了。今天聊聊前段时间整理的jacoco。Jacoco是一个针对java语言开源的代码覆盖率工具。
香菜聊游戏
2021/05/26
5420
jacoco不是奶茶,却像奶茶一样美味,不尝一下吗?
只懂黑盒测试也能学会的代码覆盖率及精准化测试
测试覆盖率是对测试完成程度的度量。它通常依据某种覆盖准则来对测试用例执行情况进行衡量,以判断测试执行得是否充分 。 ——出自《 计算机科学技术名词 》第三版
霍格沃兹测试开发
2022/05/30
1.3K0
JaCoCo助您毁灭线上僵尸代码
Tech 导读 随着需求不断迭代,业务系统的业务代码突飞猛进,在你自豪于自己的代码量产出很高时,有没有回头看看线上真正的客户使用量又有多少呢🤔?赶快利用jacoco探针深入分析一行行代码,让您看到线上功能运行最真实的一面,参照代码覆盖情况针对性下线和删除僵尸代码,提升产研效能,降低维护成本!
京东技术
2023/10/31
4210
JaCoCo助您毁灭线上僵尸代码
Jacoco统计接口测试的代码覆盖率
搜狗商城现有的接口自动化测试框架是使用Python搭建的,共900多条case,每天都会运行一次,从而监控是否有因开发代码变更或者新功能添加而导致的遗漏的bug。但我们只是依照测试用例来转换成自动化脚本、case,实际上并没有度量的指标,也不能保证测试的完整性,所以我们打算引入代码覆盖率这一指标来度量测试完整性。
用户5521279
2019/08/09
3.8K1
Jacoco统计接口测试的代码覆盖率
基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计
对于 JaCoCo,有所了解但又不是很熟悉。 "有所了解"指的是在 CI 实践中已经使用 JaCoCo 对单元测试代码覆盖率统计: 当代码 push 到代码仓库后,用 JaCoCo 进行单元测试代码覆盖率统计,并将相应数据推送到 SonarQube。 "不是很熟"指的是应用场景也仅限于此,并未进行过多研究与实践。
LinuxSuRen
2019/05/23
4.2K0
使用 JaCoCo 生成测试覆盖率报告
在我们实际的工作中,当完成程序的开发后,需要提交给测试人员进行测试,经过测试人员测试后,代码才能上线到生产环境。
头发还在
2023/10/16
1.2K0
使用 JaCoCo 生成测试覆盖率报告
JAVA代码覆盖率工具JaCoCo-实践篇
上周 JAVA代码覆盖率工具JaCoCo-原理篇 简单介绍了JaCoCo其生成覆盖率的基本原理,这周的实践篇的主要内容就是将原理应用到实践中,本篇内容全部都是具体的项目使用实战经验,这里分享给大家,共勉~ 一、覆盖率项目中使用介绍 本节开始详细介绍下项目中的JaCoCo实战经验。 下图是覆盖率在实际在项目中的主要实施点: 分别详细介绍下: 1.1 确定插桩方式 Android项目只能使用JaCoCo的离线插桩方式。 为什么?主要是因为Android覆盖率的特殊性: 一般运行在服务器java程序的插桩可
腾讯移动品质中心TMQ
2018/02/06
8.5K0
JAVA代码覆盖率工具JaCoCo-实践篇
Java代码覆盖率历史发展轨迹
作为一个测试人员,保证产品的软件质量是其工作首要目标,为了这个目标,测试人员常常会通过很多手段或工具来加以保证,覆盖率就是其中一环比较重要的环节。
JavaEdge
2020/05/27
1.3K0
Java代码覆盖率利器JaCoCo基本概念详解
有几种适用于Java的开源覆盖技术。在实现Eclipse插件EclEmma时,观察到它们都不是真正为集成而设计的。它们中的大多数特别适合特定工具(Ant任务,命令行,IDE插件),并且不提供允许在不同上下文中嵌入的文档化API。EMMA和Cobertura是最好的和广泛使用的两个开源工具。这两个工具都不再由原始作者积极维护,并且不支持当前的Java版本。由于缺乏回归测试,因此很难进行维护和添加功能。
JavaEdge
2020/05/26
1.8K0
6到飞起的Java诊断工具Arthas
记得前段时间遇到了一个页面加载过长的问题,当时就想排查下在哪一步消耗的时间比较长,由于是线上问题,第一反应就是有没有什么办法可以无侵入式的查询调用链路耗时呢?
用户1516716
2019/07/10
2.4K0
动态追踪之java agent
上篇文章我们说到阿里的诊断工具Arthas对方法和类的监控使用的是动态追踪技术,本文我们将介绍动态追踪技术Java Agent。
索码理
2022/12/28
9060
动态追踪之java agent
Java 元编程及其应用
同样是实现一个投票系统,一个是python程序员,基于django-framework,用了半小时就搭建了一个完整系统,另外一个是标准的SSM(Spring-SpringMVC-Mybatis)Java程序员,用了半天,才把环境刚刚搭好.
哲洛不闹
2018/09/14
1.3K0
Java 元编程及其应用
Java资源大全中文版(Awesome最新版)
张果
2018/01/04
3.1K2
听GPT 讲Rust源代码--compiler(3)
在Rust的编译器源代码中,rust/compiler/rustc_codegen_cranelift/src/value_and_place.rs文件扮演着重要的角色。它包含了与值和位置(Place)相关的实现和结构体定义,这对于编译器的代码生成过程至关重要。
fliter
2024/03/07
2290
听GPT 讲Rust源代码--compiler(3)
面向 C++ 的现代 CMake 教程(三)
你可能会认为,在我们成功将源代码编译成二进制文件之后,作为构建工程师我们的工作就完成了。事实几乎如此——二进制文件包含了 CPU 执行的所有代码,但代码分散在多个文件中,方式非常复杂。链接是一个简化事物并使机器代码整洁、易于消费的过程。
ApacheCN_飞龙
2024/05/26
7650
面向 C++ 的现代 CMake 教程(三)
单元测试指南
在我们公司中要做单元测试,确实比较难,因为公司缺少这种氛围,有也只是局部的,大多数工程师没有这方面的习惯和素养,很多人都是有一定的抵触的心理,经过我私下的了解大概有以下几种原因吧。
Abalone
2022/07/14
6.3K0
单元测试指南
每周AI论文速递(240909-240913)
最近,研究如何构建更好的代码指令微调数据集的兴趣逐渐增加。然而,我们观察到使用这些数据集训练的代码模型在HumanEval上表现优异,但在其他基准测试如LiveCodeBench上表现不佳。进一步调查显示,许多数据集存在严重的数据泄露问题。在清理大部分泄露数据后,一些知名的高质量数据集表现不理想。这一发现揭示了一个新挑战:识别哪些数据集真正符合高质量代码指令数据的资格。为此,我们提出了一种高效的代码数据修剪策略,用于选择优质样本。我们的方法从三个维度出发:指令复杂性、响应质量和指令多样性。基于我们选择的数据,我们推出了XCoder,一系列从LLaMA3微调而来的模型。我们的实验表明,XCoder在使用较少训练数据的情况下达到了新的最佳性能,验证了我们数据策略的有效性。此外,我们对数据组成进行了深入分析,发现现有代码数据集根据其构建方法具有不同的特征,为未来的代码大语言模型提供了新的见解。我们的模型和数据集已在https://github.com/banksy23/XCoder发布。
叶子的技术碎碎念
2025/04/08
760
每周AI论文速递(240909-240913)
面向 C++ 的现代 CMake 教程(五)
我们已经掌握了构建专业项目的所有必要知识;我们学习了结构化、构建、依赖管理、测试、分析、安装和打包。是时候将这些学到的技能付诸实践,通过创建一个连贯、专业的项目。
ApacheCN_飞龙
2024/05/26
2450
面向 C++ 的现代 CMake 教程(五)
Java 面试知识点解析(四)——版本特性篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大部分内容参照自这一篇文章,有一些自己补充的,也算是重新学习一下 Java 吧。 前序文章链接: Java 面试知识点解析(一)——基础知识篇 Java 面试知识点解析(二)——高并发编程篇 Java 面试知识点解析(三)——JVM篇 ---- 对于 Java 各个版本的特性,特别是 Java 8 的新知识
我没有三颗心脏
2018/07/04
1.3K0
JVM 看这一篇就够了
本文转自 https://blog.csdn.net/qq_46153765/article/details/113092445,如有侵权,请联系删除。
麦洛
2021/07/05
5300
JVM 看这一篇就够了
相关推荐
jacoco不是奶茶,却像奶茶一样美味,不尝一下吗?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档