当前位置: 首页 > news >正文

2.3.5 覆盖率数据的合并

       在覆盖率测试过程中,通过App的生命周期控制覆盖率数据的采集时机,在app进入前端时,清除上次覆盖率数据,执行测试用例,将App置入后端时,生成覆盖率数据文件。常规状态下整个测试过程中会执行多个测试用例,也会产生多个覆盖率数据文件,我们需要将每个测试用例的覆盖率数据文件获取上传到指定的服务器上,再清除数据执行下次用例,这个功能将在后面通过SDK来实现。

1,覆盖率合并前提

     在此处我们假设整个测试过程中,如何生成多个覆盖率数据文件的覆盖率报告呢?这就测试到覆盖率数据的合并,这里有如下几个前提条件:
  • 多个覆盖率数据文件是一个App版本产生的,不能是多个版本的。
  • 生成报告时的类文件是构建测试app时产生的,要对应起来不能有变化;
  • 项目源码是对应App的源码,没有做任何修改,必须保证版本一致。

2,覆盖率文件合并

     jacoco的merge命令主要用来合并dump生成的exec文件,具体实施场景为分布式集群环境时由于覆盖请求负载到不同的机器上产生多个exec文件后我们再做merge操作,从而获取到代码的整体覆盖率,具体操作如下图所示:
这个是合并服务端覆盖率数据的,同时也可以合并Android的覆盖率数据ec文件。
命令如下:
java -jar jacococli.jar merge [<execfiles> ...] --destfile <path> [--help] [--quiet]

示例:
java -jar jacococli.jar merge 1.exec 2.exec --destfile /var/merged.exec

注意:官方指定必须是相同的类的覆盖率数据文件才能合并,如果类有变化,则classid就变化了,不能合并。如果我们在整个测试过程中,打了多个包,最后想生成一个整体的覆盖率报告如何做呢?这就是后面我们要介绍的,跨版本覆盖率合并。

相关文章:

  • 【前端】使用 HTML、CSS 和 JavaScript 创建一个数字时钟和搜索功能的网页
  • 计算机二级:基础操作题
  • 大模型在支气管哮喘手术全流程风险预测与治疗方案制定中的应用研究
  • 【HTML 基础教程】HTML 编辑器
  • 【Java 优选算法】链表
  • C++:异常的深度解析
  • STM32学习笔记之常见外设汇总
  • 【QA】外观模式在Qt中有哪些应用?
  • 【C++】Chapter02 内存管理
  • 群体智能优化算法-多版本优化器(Multi-Verse Optimizer, MVO,含Matlab源代码)
  • (Arxiv-2025)MagicDistillation:用于大规模人像少步合成的弱到强视频蒸馏
  • notify_one() 会阻塞吗?
  • 5分钟快速上手Docker容器化部署:从零到实践
  • 紧凑交叉引用表
  • 使用XiaoESP32S3在Arduino环境中实现颜色识别
  • 安铂克科技APLC系列射频模拟信号发生器
  • 常见框架漏洞之一:Thinkphp5x
  • Qt开发:QVariant的使用
  • 精选前端面试题(持续更新中ing)
  • 初级:异常处理面试题深度解析
  • 5月1日全国铁路发送旅客2311.9万人次,创历史新高
  • 426.8万人次!长三角铁路创单日客发量历史新高
  • 来上海喝云南咖啡!上海国际咖啡文化节助力咖啡产业破圈出海
  • 5月起,这些新规将施行
  • 屠呦呦当选美国科学院外籍院士
  • 狄威已任国铁集团副总经理