单元测试: - gtest构建、安装、demo,覆盖率测试
一、简介
我们熟悉的单元测试框架有很多,比如 gtest, boost.test, catch等,今天以功能完备,文档丰富,比较常用的 gtest 为例子,包括构建、安装、demo, 覆盖率展示等。文章主要面向对单元测试了解不多的小白,更多单元测试内容自己百度吧,内容很多。
注
1、如下内容在个人的腾讯计算云上完成,linux ubuntu系统
2、自行百度的意思是搜索,不是真的百度,能用谷歌最好不要用百度,做开发的都懂。
二、gtest构建和安装
1、源码下载
github仓库地址: GitHub - 谷歌/谷歌test: GoogleTest - Google Testing and Mocking Framework
方法一
如果 git 工具已经安装和配置正确,可以直接用 git 拉取代码
git clone git@github.com:谷歌/谷歌test.git
方法二
也可以在仓库直接下载源码包到本地解压,我下载的1.8.1版本
2、构建和安装
用 cmake make 构建和安装其实非常简单,具体可参考官方文档,顺便提一句,大家要习惯看原汁原味的英文官方文档。
https://github.com/谷歌/谷歌test/blob/main/谷歌test/README.md
mkdir build
cd buld
cmake ../
make
sudo make install
可以看到我的 gtest 就安装成功了,库文件在 /usr/local/lib 下, 头文件在 /usr/local/include/gteest 和 /usr/local/include/gmock
三、覆盖率工具gcov / lcov
1、什么是 gcov / lcov
gcov是gnu工具集自带的工具,用来统计代码覆盖率,不过只有文本信息, lcov 工具可以理解成 gcov 工具的前端,根据 gcov 的数据生成可视化的报告,可以很直观的来看单元测试的代码覆盖率。更多信息请自行百度。
2、lcov 安装
源码下载和安装指南,请参考:
查看帮助文档ok,说明安装好了
四、demo构建和覆盖率测试
1、demo获取
可以从如下仓库获取一个参考 demo
2、构建和测试
因为我们本地已经安装了 gtest,修改下demo 中的 CMakeLists.txt 内容,注释掉构建 gtest 的内容,把库文件路径和头文件路径加上去。
然后用自带的脚本构建就好了,make_all.sh
构建成功,我们看到 coverage_report 下面已经生成了报告
3、代码覆盖率查看
由于计算云无图形界面窗口,我们将报告拷贝到本地,用浏览器查看即可
总体信息里面有行覆盖率,函数覆盖率,分支覆盖率,这三个数据具体什么以上自行百度,特别是分支覆盖率。
可以看到源文件中具体覆盖到那些行,那些没有被覆盖等。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgijagc
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13