JaCoCo 与Cobertura 的对比

举报
JavaEdge 发表于 2021/06/03 23:38:20 2021/06/03
【摘要】 0 二者总体功能对比 Open Cover 官方给出的详细对比 http://openclover.org/doc/manual/latest/general–comparison-of-code-coverage-tools.html#Comparisonofcodecoveragetools-legend 1 数据结构对比 1.1 UML 图 cober...

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 定时任务

都需要适配

文章来源: javaedge.blog.csdn.net,作者:JavaEdge.,版权归原作者所有,如需转载,请联系作者。

原文链接:javaedge.blog.csdn.net/article/details/105140747

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。