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

如何获取保留源码树结构、按文件夹分组的gcov覆盖率统计结果

保留目录树结构的gcov覆盖率统计方案

方案1:基于现有lcov实现目录树层级统计

lcov原生不直接输出树形结构,可通过以下方式适配:

  • 第一步生成全量覆盖率原始数据文件:lcov -c -d . -o coverage.info
  • 按指定层级过滤统计结果:比如要查看2级深度的目录统计,可执行 lcov --list coverage.info | grep -E '^src/[^/]+/?$|^src/[^/]+/[^/]+/?$' 过滤对应深度的路径
  • 树形结构输出可自行开发简单的辅助脚本:读取lcov的list输出结果,按路径分层,按各目录下总可覆盖行数、已覆盖行数加权计算父目录覆盖率(不要直接平均子目录数值,结果会失真),再按树形缩进打印即可得到你期望的展示效果。

方案2:切换gcovr工具原生支持树形层级展示

gcovr原生兼容gcov数据,直接支持目录树展示和自定义展开深度,更适合大体量项目使用:

  • 安装命令:pip install gcovr
  • 输出指定深度树形覆盖率的命令示例:gcovr --root . --print-summary --show-directories --hierarchical-sort --depth 2
    其中--depth参数可自定义展开层级:填1仅展示src级总覆盖率,填2展开到folder1/folder2层级,填3展开到subfolder层级,完全匹配你的需求
  • 如需可视化报告,gcovr生成的HTML报告也支持点击展开/折叠不同层级目录,方便快速概览各模块覆盖度。

gcovr默认输出效果示例:

src/                     58%
├─ folder1/              22%
│  ├─ subfolder1/        12%
│  └─ subfolder2/        39%
└─ folder2/              94%
   ├─ subfolder1/        76%
   └─ subfolder2/        100%

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 16:54:03