IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 【C++】C++如何进行单元测试(覆盖率统计) -> 正文阅读

[开发测试]【C++】C++如何进行单元测试(覆盖率统计)

目录


C++ 如何进行覆盖率统计?

参考:

  1. lcov收集覆盖率
  2. Linux下lcov单元测试覆盖率
  3. 关于代码覆盖lcov的使用
  4. Mac 下安装lcov

步骤:

1. 安装 lcov

Gcov是一个测试 C++ 代码覆盖率的程序。

Lcov 则是 gcov 结果展现的一个可视化工具,可以将覆盖率信息以 HTML 方式展现。

Lcov 下载地址:LCOV - the LTP GCOV extension

Mac 安装 lcov 命令:

brew install lcov

2. 添加编译参数

在 CMakeLists 中添加覆盖率编译参数:

# 添加覆盖率编译参数
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")

然后编译、运行程序。

3. 统计覆盖率

执行 lcov 命令以统计覆盖率:

lcov --directory . --capture --output-file app.info

4. 可视化

genhtml -o results app.info

results 是一个覆盖率统计结果可视化目录,其中的 index.html 为导航页面。

示例

覆盖率统计脚本示例:

echo "覆盖率统计..."
rm -rf ./覆盖率结果/
lcov --capture --directory ./ --output-file all.info || exit
# 移除不需要统计的文件
lcov --remove all.info '*/test/*' '*/ThirdPartyLayer/*' '/usr/include/*' -o result.info || exit
# 可视化
genhtml all.info --output-directory ./覆盖率结果/ || exit
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-24 10:54:53  更:2021-09-24 10:55:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:36:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码