JaCoCo增量代码覆盖率工具实现原理

实现增量代码覆盖率统计,方案分两步:
  1. 获取增量代码
  2. 在生成report阶段去判断代码是否是增量,再去生成reprot
根据方案,具体实现分三步:
  1. 获取两个版本的差异代码
  2. 将差异代码在生成report阶段传给jacoco
  3. 修改jacoco源码,生成报告时判断代码是否是增量代码,只有增量代码才去生成报告
获取差异代码,用到了两个工具类:
  1. org.eclipse.jgit主要用于从git获取代码,并获取到存在变更的文件
  2. javaparser-core是一个java解析类,能将class类文件解析成树状,方便我们去获取差异类
<dependency>
    <groupId>org.eclipse.jgit</groupId>
    <artifactId>org.eclipse.jgit</artifactId>
</dependency>
 
<!-- https://mvnrepository.com/artifact/com.github.javaparser/javaparser-core -->
<dependency>
    <groupId>com.github.javaparser</groupId>
    <artifactId>javaparser-core</artifactId>
</dependency>
将差异代码,通过 --diffCode参数形式在生成report阶段传给jacoco,report里统计的只有增量代码覆盖率
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容