gTest基本知识_gtest assert_eq-程序员宅基地

技术标签: 运维  linux  

GoogleTest

1. gTest简介

  • gTest是google开发团队开发的一款针对C++代码的测试框架,可以帮助我们更快,更好地写出C++测试代码。
  • gTest支持Linux,Windows,Mac等多个OS平台上运行
  • gTest不仅仅只支持单元测试,还支持其他多种类型的测试。

2. 好的测试代码具有哪些特点

  • 测试应该是独立且可重复的
  • 测试应该能被很好的组织且能清晰的反映测试代码的结构
  • 测试应该是可移植且可被复用的
  • 当测试用例失败时可以提供足够的错误信息
  • 应使得测试代码书写者能仅关注测试的内容即可
  • 测试代码运行足够快

3. gTest测试框架有哪些优势

  • gTest通过在不同的对象上运行每个测试用例来隔离测试,当某一个测试用例运行失败时,gTest允许单独运行该测试以进行快速调试。
  • gTest将相关的测试进行分组组成测试集,以便它们可以共享数据且便于维护
  • gTest可以被多种编译器编译后运行于多种OS平台
  • gTest不会在遇到第一个运行失败的测试就停止运行,而是会跳过当前测试而继续下一个测试,或者你也可以设置报告非致命错误,从而使得可以在单次运行-编辑-编译循环中检测到多个错误
  • gTest可以自动检测跟踪所有定义的测试,并且不需要你列举即可运行它们
  • gTest可以使你重复使用测试间的共享资源,只需要一次创建/释放的代价,不需要使测试之间相互依赖

4. gTest命名规范

名词 old gTest ISTQB new gTest
测试用例 TEST TEST CASE TEST
测试集 TEST CASE TEST SUITE TEST SUITE
  • 测试用例: 使用特定的输入值执行特定的程序路径并验证结果
  • 测试集: 将相关的测试分组

5. 基本概念描述

  • 使用gTest写测试代码时,必然会使用到断言,它是一种检查条件是否为真的语句。
  • 断言的结果有三种:成功、非致命错误、致命错误
  • 若发生致命错误,程序会跳出该功能函数,否则正常运行
  • 如果测试崩溃或者断言结果错误,那么该测试用例失败,否则测试用例成功
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tianzhiyi1989sq/article/details/104161463

智能推荐

使用bat脚本获得文件名,修改时间,大小_bat命令获取文件修改时间-程序员宅基地

文章浏览阅读2k次。参考文章:bat:使用bat脚本获得文件名,修改时间,大小@echo for %%i in ("D:\J\1012\ftprun.log")do ( echo %%~nxi&echo %%~zi字节&echo %%~ti&echo Y)>"%%~ni.log"pause_bat命令获取文件修改时间

Ubuntu中终端分屏工具terminator的安装和使用_ubuntu terminal type 选哪个-程序员宅基地

文章浏览阅读1.7w次,点赞31次,收藏142次。1 有何不同在Linux中,以一种非常灵活的方式在一个窗口中拥有多个Gnome终端。2 特性自动记录所有终端会话文本和URL的拖放功能支持水平滚动查找,一种用于在终端内搜索任何特定文本的功能支持UTF-8智能退出–它知道运行过程(如果有)垂直滚动很方便使用自由,通用公共许可证支持基于选项卡的浏览用Python编写的Portal平台–支持GNU/Linux平台3 安装..._ubuntu terminal type 选哪个

vim脚本的语言语法-程序员宅基地

文章浏览阅读847次,点赞23次,收藏2次。a、Vim 脚本语言(Vimscript)是 Vim 编辑器用于自动化任务和扩展功能的脚本语言。Vimscript 提供了一套丰富的命令、函数和变量,允许用户自定义快捷键、映射、插件和更多高级功能。Vim 脚本也常用于开发 Vim 插件,这些插件可以扩展 Vim 的功能,提供额外的命令、映射和界面元素。插件通常包含更复杂的逻辑和交互,并利用 Vim 提供的 API 和其他功能。Vim 脚本允许用户定义自己的函数,并在脚本中调用它们。Vim 脚本支持列表(数组)和字典(关联数组)数据结构。

Spotify限制中国地区登录解决_spotify解除14天限制-程序员宅基地

文章浏览阅读2k次。spotify每隔14天会强制登录,届时手机app和桌面应用都没法登录,会弹出国家限制问题。如何解决我找了很多方法但是都没有用,下面这个是我亲测有用的,可以解决手机app和桌面应用。我猜测一下,如果是设置了代理的话,那就是通过vpn节点转发,这样可以伪装你在国外。然后你的手机app也都可以登录了。你在登陆的是后选择setting,然后配置你的代理,一般你开vpn不改设置就是这个ip和端口。,这个根据你的系统你下载对应的spotify软件,我的是mac,我就下载mac的。然后下载spotify。_spotify解除14天限制

ROS2学习笔记2--介绍小乌龟教程和rqt_ros2创建多只小乌龟-程序员宅基地

文章浏览阅读5.7k次,点赞15次,收藏45次。概要:这篇主要介绍是配置ros2环境.环境:ubuntu20.04,ros2-foxy,vscode2.1.2介绍小乌龟教程和rqt(原文:https://docs.ros.org/en/foxy/Tutorials/Turtlesim/Introducing-Turtlesim.html)>>教程>>介绍小乌龟教程和rqt你正阅读的是ros2较老版本(Foxy),但仍然支持的说明文档.想查看最新版本的信息,请看galactic版本链接( https://docs.ros.o_ros2创建多只小乌龟

npm报错:xxx packages are looking for funding run `npm fund` for details(解决办法)-程序员宅基地

文章浏览阅读6.5k次,点赞3次,收藏10次。报错原因:这里是开发者捐赠支持的提示,打开一个github的链接之后,会显示是否需要打赏捐赠的信息。解决方案:这个打赏是资源的,因此我们选择不打赏(即在后面加 --no-fund)即可解决。​如:在本次执行的语句为 npm install crypto-js则我们在后面加上 --no-fund 即可解决:npm install crypto-js--no-fund​_run `npm fund` for details

随便推点

XML入门知识(一)——XML语法简介-程序员宅基地

文章浏览阅读2.3k次,点赞3次,收藏9次。本文介绍了XML基础语法知识_xml语法

处女作发表-程序员宅基地

文章浏览阅读513次。处女作发表 记得在读初中的时候,语文老师说他的第一篇文章发表的时候,他特得意,感觉非常好,自己的文字总算变成了“铅字”(注:那时候用铅打印出版,便是铅字),同时也希望我们也有那么一天把自己的想法变成“铅字”,还真羡慕自己也有那么一天能够实现。虽然自己已是研究生,可惜本人不才,一直没有作品变成“铅字”,很多的老师都有自己的学术作品发表,特别是我们用自己老师编写的书籍当作大学教材,心里还是很羡慕那些才华出众的老师。机会还是来了。自参加nios比赛以来,我们一直在努力,

【验证码识别】OpenCV挑战百度拖动旋转图片角度验证码_selenium 百度旋转图片验证-程序员宅基地

文章浏览阅读10w+次,点赞27次,收藏94次。前言百度的验证码又双叒更新了。当然出于好奇,猫又拿起了键盘开始挑战。正文来了。先来看看继上次破解百度旋转验证码后,百度的大佬又做出了哪些改变。1.抓取图片时加上了马赛克2.增加了图片库抓取图片时加上了马赛克截图是这个亚子的后台拿到的却是这个亚子的哦呦,这个马赛克有点东西的呀~图片抓下来都不一样还咋识别,百度这里也是煞费苦心,给您点个赞。不过话说回来,就算这样也难不住我们的呀,这里我思考了一下还有几种方式来获取这个图片:1 .通过系统级鼠标来获取2 .通过网_selenium 百度旋转图片验证

AI人工智能是如何工作的?-程序员宅基地

文章浏览阅读815次,点赞9次,收藏20次。人工智能是如何工作的

三相光伏并网逆变器simulink仿真前级boost采用电导增量法实现最大功率追踪_三相光伏发电并网的boost电路-程序员宅基地

文章浏览阅读205次。结果表明,我们的仿真模型能够有效实现最大功率追踪和控制,并且输出波形质量好,THD小于5%。这些结果表明,我们的仿真模型能够满足实际应用的需要,并具有很高的可靠性和实用性。通过电导增量法实现最大功率追踪和dq坐标系解耦实现控制,并通过Simulink仿真得到了良好的仿真结果。本文将探讨三相光伏并网逆变器的仿真研究,通过电导增量法实现最大功率追踪,同时在dq坐标系下解耦实现控制,输出波形质量好,THD小于5%。在本文中,我们将详细介绍仿真的实现步骤和结果分析,并对仿真结果进行深入的探究和分析。_三相光伏发电并网的boost电路

NX加载角色mtx_nx1953加载角色-程序员宅基地

文章浏览阅读109次。加载NX角色_nx1953加载角色

推荐文章

热门文章

相关标签