首页 > 解决方案 > LCOV 只为头文件生成覆盖率报告

问题描述

我正在使用 lcov 和 genhtml 生成代码覆盖率报告。我的单元测试文件只包含 .h 头文件。

client_test.cpp

#include "gtest/gtest.h"
#include "../client.h"
...
lcov --capture --no-external --rc lcov_branch_coverage=1 --directory . --output-file unfiltered_coverage.info

我注意到覆盖率报告仅包含我的单元测试的包含部分中的文件的覆盖率信息。因此,覆盖报告仅包含 client.h 文件而不包含 client.cpp 文件。

标签: c++c++11gcccode-coveragegcov

解决方案


这是有道理的,因为覆盖率报告将附加与函数声明位置相关的结果,而不是它们的实现位置。


推荐阅读