2 - 增量代码覆盖率统计

针对统计代码的不同,可以分为全量代码覆盖率统计和增量代码覆盖率统计

全量统计较为简单,默认每次都是对全量代码进行统计的,但是由于版本开发过程中,每次都是增量代码迭代,而测试过程中并不需要每一轮都覆盖全量用例,因此找出增量代码并对增量代码进行覆盖率统计也是有必要的

要对增量代码覆盖率进行统计,目前大致有两个思路,修改jacoco源码和改造全量覆盖率结果

1、修改jacoco源码,使得其只支持对增量代码进行统计

(1)获取测试完成后的exec文件     此文件为二进制文件,里边包含有覆盖率信息

(2)获取基线去当前版本代码之间的差异

(3)切割差异代码为更小的颗粒,例如方法或者类等,可以尽量切割的小一点

(4)改造jacoco,使它支持仅对差异代码生成覆盖率报告

2、不修改jacoco,修改全量覆盖率报告,使得其仅显示增量代码报告部分

(1)获取测试完成后的exec文件,并生成覆盖率报告

(2)获取两个版本之间的差异代码,使用git diff命令

(3)解析差异代码,切割代码为更小的颗粒,此次切割最小单位为方法

(4)根据差异代码文件获取增量代码修改文件名、服务名、类名、方法名以及修改内容所在行数

(5)在全量覆盖率报告中根据文件名、服务名、类名、方法名修改报告中的内容,删除未修改的内容信息,仅保留增量代码对应的报告内容

posted @ 2022-08-27 22:22  xiaoyanhahaha  阅读(306)  评论(0编辑  收藏  举报