如何让 gcovr 报告未测试文件的 0%?

How to get gcovr to report 0% for untested files?

我的项目中有许多源文件根本没有经过测试。所以他们有 gcno 文件但没有 gcda 文件。 gcovr 只是完全跳过它们,这人为地夸大了我的测试覆盖率报告。我查看了 gcov 和 gcovr 中的各种选项,但我还没有看到任何为未测试文件生成 0% 覆盖率指标的方法。有什么办法吗?

Gcovr 会尝试报告未覆盖文件的覆盖率,但是:

  • 您的 gcc/gcov 版本必须足够新
  • 文件必须包含可执行代码,例如编译器可能会删除从未调用的内联函数

有关详细信息,请参阅 gcovr 常见问题解答:https://gcovr.com/en/master/faq.html#why-are-uncovered-files-not-reported