最近在学习使用 Jacoco 收集增量覆盖率, 主要用于统计一个迭代内手工测试的覆盖率数据;

现在遇到一个问题, 是在收集增量覆盖率过程中, 如果组件版本更新了, 收集的增量覆盖率数据会出问题:

比如:

  1. 在一个迭代内, 开发新增加了 2 个类: class1, class2, 基于该版本的代码打包出了版本 1, 测试基于版本 1开始测试, 此时得到的增量覆盖率数据为 A(class1, class2都有覆盖率数据);

  2. 开发因为某些原因 (修改 BUG), 修改了class1, 基于该版本的代码打包出了版本 2, 发布到测试环境中后, 测试基于版本 2测试, 在测试开始测试前, 使用 Jacoco 生成增量覆盖率报告, 发现class1的覆盖率为 0(相当于 class1 完全未进过测试), 未修改过的class2的覆盖率数据仍然存在;

现在就产生了一个问题: *每次代码变更之后, 整个类的所有功能都必须要重测. *

假如版本 2class1只改动了某一个方法, 且测试已经在版本 1中已经测试覆盖了其它方法的情况下, 基于版本 2生成的覆盖率报告中如果其它方法没有重新测过的话, 覆盖率数据为空;

请教大家:

  1. 能不到该基于版本 2生成增量覆盖率报告数据的时候, 包含版本 1中已经测过的内容?

  2. 在收集增量覆盖率的过程中, 如果因为修改 BUG 等原因组件版本更新的情况, 大家是怎么处理的?


↙↙↙阅读原文可查看相关链接,并与作者交流