我正在使用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
我注意到覆盖率报告仅包含单元测试的include部分中的文件的覆盖信息。因此,覆盖率报告仅包含client.h文件,而不包含client.cpp文件。
这是有道理的,因为覆盖率报告将附加相对于声明函数的位置的结果,而不是它们的实现位置。