最近在学习使用 Jacoco 收集增量覆盖率, 主要用于统计一个迭代内手工测试的覆盖率数据;
现在遇到一个问题, 是在收集增量覆盖率过程中, 如果组件版本更新了, 收集的增量覆盖率数据会出问题:
比如:
在一个迭代内, 开发新增加了 2 个类: class1
, class2
, 基于该版本的代码打包出了版本 1, 测试基于版本 1开始测试, 此时得到的增量覆盖率数据为 A(class1
, class2
都有覆盖率数据);
开发因为某些原因 (修改 BUG), 修改了class1
, 基于该版本的代码打包出了版本 2, 发布到测试环境中后, 测试基于版本 2测试, 在测试开始测试前, 使用 Jacoco 生成增量覆盖率报告, 发现class1
的覆盖率为 0(相当于 class1
完全未进过测试), 未修改过的class2
的覆盖率数据仍然存在;
现在就产生了一个问题: *每次代码变更之后, 整个类的所有功能都必须要重测. *
假如版本 2中class1
只改动了某一个方法, 且测试已经在版本 1中已经测试覆盖了其它方法的情况下, 基于版本 2生成的覆盖率报告中如果其它方法没有重新测过的话, 覆盖率数据为空;
请教大家:
能不到该基于版本 2生成增量覆盖率报告数据的时候, 包含版本 1中已经测过的内容?
在收集增量覆盖率的过程中, 如果因为修改 BUG 等原因组件版本更新的情况, 大家是怎么处理的?