首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JaCoCo 与Cobertura 的对比

JaCoCo 与Cobertura 的对比

作者头像
JavaEdge
发布2020-05-26 17:03:50
发布2020-05-26 17:03:50
1.6K0
举报
文章被收录于专栏: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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0 二者总体功能对比
  • 1 数据结构对比
    • 1.1 UML 图
      • cobertura
      • JaCoCo
    • 1.2 核心结构
      • JaCoCo
      • Cobertura
  • 2 客户操作自由度
    • 2.1 框架热插拔植入
    • 2.2 定时任务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档