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

如何让OpenCppCoverage覆盖率报告包含未被测试触及的文件?

如何让OpenCppCoverage覆盖率报告包含未被测试触及的文件?

我之前也碰到过一模一样的问题,OpenCppCoverage默认只会把有代码被执行过的源文件放进报告,没被测试碰过的文件直接就被忽略了。不过解决起来很简单,给命令加个专门的参数就行。

你只需要在现有命令里加上--include_unexecuted_source_files这个参数,它的作用就是强制让工具把所有匹配你--source规则的源文件都纳入报告——哪怕这些文件里没有任何一行代码被测试执行,也会在报告里显示出来,并且标记为0%的覆盖率。

调整后的完整命令应该是这样的:

"C:\Program Files\OpenCppCoverage\OpenCppCoverage.exe" --source core\** --include_unexecuted_source_files --export_type cobertura:coverage_result\coverage.xml -- .\x64\Debug\tests.exe

另外再给你提两个小注意点:

  • 确认你的--source core\**确实能匹配到core库下所有的源文件,这个通配符是可以覆盖core目录下所有子目录里的文件的。
  • 确保你的core.lib是用Debug模式编译的,并且生成了完整的PDB调试文件——OpenCppCoverage需要依赖调试信息来关联目标文件和源文件,如果PDB不全,可能还是会有文件识别不到的情况。

备注:内容来源于stack exchange,提问作者Leonardo Faria

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 18:38:10