You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Git新提交代码的增量覆盖率?合并前排查未覆盖行

查看Git提交增量代码覆盖率的方法

Git命令行方案

结合diff-cover工具(推荐)

diff-cover是专门针对增量代码覆盖率的工具,能对比分支差异并只统计变更代码的覆盖情况:

  1. 先运行全量测试生成覆盖率报告(比如用JaCoCo生成jacoco.xml)
  2. 执行命令对比当前分支与目标分支(如main)的增量覆盖率:
    diff-cover target/site/jacoco/jacoco.xml --compare-branch main
    
    输出会直接显示变更代码中未被覆盖的行数、文件及具体位置。

手动过滤差异文件

如果不想用第三方工具,可以通过Git获取变更文件,再让覆盖率工具只统计这些文件:

  1. 导出当前分支与目标分支的Java变更文件列表:
    git diff --name-only main HEAD | grep "\.java$" > changed-files.txt
    
  2. 配置你的覆盖率工具(如JaCoCo、Cobertura),通过includes参数指定仅统计changed-files.txt中的文件,生成针对性的覆盖率报告。

IntelliJ IDEA 方案

内置功能实现

无需额外插件,直接利用IntelliJ的Git和覆盖率工具:

  • 先运行全量测试获取完整覆盖率数据,打开Coverage窗口后,点击右上角的过滤器图标,选择Changed Files,即可只查看本次Git变更文件的覆盖率详情。
  • 若只想运行与变更代码相关的测试:右键点击Git工具窗口中显示的变更文件,选择Run 'Tests in [文件名]' with Coverage,快速得到该文件的覆盖率(若变更涉及跨文件逻辑,需手动选择关联测试类)。

专用插件

  • Diff Coverage:安装后自动识别Git分支差异,在编辑器侧边栏直接高亮未被覆盖的变更代码行,同时在工具窗口展示增量覆盖率统计数据,无需手动配置对比分支。
  • JaCoCo Coverage Plugin:配合JaCoCo使用,支持自定义过滤规则,可设置仅统计Git变更的文件,生成结构化的增量覆盖率报告。

内容的提问来源于stack exchange,提问作者enesdogan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 23:46:00