正式工作之后,公司对于单元测试要求比较严格。(笔者之前比较懒,一般很少写完整的单测~~)。作为一个合格的开发工程师,需要为所编写代码编写适量的单元测试是十分必要的,在实际进行的开发工作之中,TDD(Test drivern development) 是一种经过实践可行的开发方式。编写单元测试可以帮助我们在开发阶段就发现错误,并且保证新的修改没有破坏已有的程序逻辑。 在 C++之中,常用的测试框架有
Ubuntu搭建gtest环境在terminal中依次输入如下命令# 下载googletest
$ sudo apt-get install libgtest-dev
# 如果没有安装cmake,执行该步骤安装
$ sudo apt-get install cmake
# 进入googletest目录
$ cd /usr/src/googletest
# 执行cmake &&
转载
2024-02-18 20:38:37
127阅读
在C++中,编写服务后的一种测试方式是使用google的gTest和gMock结合之前写py,测试方式是将服务挂起,使用工具模拟请求发包,check resp,这样的缺点在于不方便,即使存下了所有的模拟请求,回头还是要按一遍,并且所做的测试并不能算作单元测试,而是集成而使用test&mock的方式可以做到固定的单元测试gTest:编写固定的单元测试代码,对每个c++的服务类进行测试gMoc
转载
2024-04-01 07:52:29
109阅读
转一篇小亮同学的google mock分享第 1 行的mock_object就是你的Mock类的对象第 1 行的 method(matcher1 , mat
原创
2023-04-06 14:22:37
1767阅读
gtest :google 开源的跨平台C++单元测试框架,是为在不同平台上为编写C++测试而生成的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。不推荐将gtest直接安装到/usr/local下,当多个项目的gtest有不同配置时,将会产生难以debug的问题。所以官方推荐将gtest作为每个项目的子项目单独管理。用起来和普通的库差不多,只需要设置include & 修改 main 文件 指定 头文件 源文件 目录 指定 连接的库安装方式1:作为独立项
原创
2021-09-13 17:34:52
5268阅读
Googletest的入门安装和使用1. Gtest介绍2. Gtest安装2.1. Gtest编译2.2. Gtest交叉编译2.3. Gtest example编译3. Gtest第一个测试程序4. Gtest库的作用 1. Gtest介绍gtest是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由
转载
2024-02-19 20:45:06
223阅读
googletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows、linux、Mac等OS平台上。下面,我来说明如何使用最新的1.7版本gtest写自己的单元测试。本文包括以下几部分:1、获取并编译googletest(以下简称为gtest);2、如何编写单元测试用例;3、如何执行单元测试。4、google test内部是如何执行我们的单元测试用例的。1. 获取并编译gt
一、使用gomonkey stub(打桩)在测试包中创建一个模拟方法,用于替换生成代码中的方法。1、stub函数gomonkey.ApplyFunc(target,double)其中target是被mock的目标函数,double是用户重写的函数。注意点:重写的函数要和原函数入参和出参保持一致,否则会报错。2、stub方法gomonkey.ApplyMethod(reflect.TypeOf(s)
工作中写C++,不敢自称大神,也来斗胆分享(安利)一下经常使用的单元测试框架。大家都对Google的C++ Style很熟悉了,但除了Coding Style之外,Google还有自己的单元测试框架:gtest (Google Test)和gmock (Google Mock)。简介gtest的英文Unit Testing C++ with Google Test - ReSharper C++
转载
2024-04-30 14:34:04
159阅读
一、引入头文件,简单测试使用TEST()宏来定义和命名测试函数,这些是不返回值的普通C++函数。在此函数中,连同要包括的任何有效的C++语句,使用各种Google Test断言来检查值。测试的结果由断言确定; 如果测试中的任何断言失败(致命或非致命),或者如果测试崩溃,则整个测试失败,否则成功。TEST(test_case_name, test_name) {
... test body ...
转载
2024-03-21 14:48:06
110阅读
前言: 1.首先说明gtest中事件的结构层次: 测试程序:一个测试程序只有一个main函数,也可以说是一个可执行程序是一个测试程序。该级别的事件机制会在程序的开始和结束执行。 测试套件:代表一个测试用例的集合体,该级别的事件机制会在整体的测试案例开始可结束执行。 测试用例:该级别的事件机制会在每个测试用例开始和结束都执行。 gtest中的事件机制是指
转载
2024-03-25 10:48:52
425阅读
GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment)。利用GT,即可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)开发日志的查看Crash日志查看网络数据包的抓取APP内部参数的调试真机代码耗时统计等 一、下载安装去应用宝下载GT app并安装 二、主功能区
目录准备工作测试宏两个概念test suitesTest Fixtures测试运行流程main函数关于线程安全 准备工作GoogleTest官网:https://google.github.io/googletest/ gtest github仓库:https://github.com/google/googletest 目前最新稳定版本:https://github.com/google/go
gMock是什么当我们去写测试时,有些测试对象很单纯简单,例如一个函数完全不依赖于其他的对象,那么就只需要验证其输入输出是否符合预期即可。但是如果测试对象很复杂或者依赖于其他的对象呢?例如一个函数中需要访问数据库或者消息队列,那么要想按照之前的思路去测试就必须创建好数据库和消息队列的客户端实例,然后放在该函数内使用。很多时候这种操作是很麻烦的,此时Mock Object就能帮助我们解决这个问题。一
转载
2024-04-22 10:08:11
65阅读
gtest全称是google test是一个C++测试框架gmock是和gtest一起用的mock框架gtest使用教程:g
原创
2023-04-06 13:53:33
2612阅读
示例#8展示了在值参数化测试中使用“Combine()”。
原创
2023-03-17 10:34:10
172阅读
示例#5将共享测试逻辑放在基本测试fixture中,并在派生fixture夹具中重用它。
原创
2023-03-17 10:37:50
143阅读
示例#2显示了一个具有多个成员的类的更复杂的单元测试功能。
原创
2023-03-17 10:38:10
193阅读