c++ - 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 文件。
解决方案
这是有道理的,因为覆盖率报告将附加与函数声明位置相关的结果,而不是它们的实现位置。
推荐阅读
- jpa - JPA 我想在浏览器关闭或用户不活动 5 分钟后自动退出登录会话
- linux - Cygwin 中运行(而不是编译)Linux 环境 C 程序所需的唯一软件包是什么?
- javascript - 有没有办法调整内容可编辑 div 中的行间距?
- html - 在列表中嵌套列表,但不要在第二个嵌套列表中使用自定义项目符号点
- sql - 我收到以下错误,第 25:8 行:无法解析列 'flag1'
- wordpress - 从 WordPress 菜单生成器中排除页面
- javascript - 如何在通过网络在 Service Worker 中发送 URL 之前从 URL 中去除搜索参数?
- java - 如何连接模块?
- css - Material UI 网格布局和单个项目的宽度
- javascript - 服务器找不到 Firebase 存储默认存储桶?