【C++】GoogleTest进阶之gMock】的更多相关文章

gMock是什么 当我们去写测试时,有些测试对象很单纯简单,例如一个函数完全不依赖于其他的对象,那么就只需要验证其输入输出是否符合预期即可. 但是如果测试对象很复杂或者依赖于其他的对象呢?例如一个函数中需要访问数据库或者消息队列,那么要想按照之前的思路去测试就必须创建好数据库和消息队列的客户端实例,然后放在该函数内使用.很多时候这种操作是很麻烦的,此时Mock Object就能帮助我们解决这个问题.一个Mock Object实现与真实对象相同的接口,它可以替代真实对象去使用,而我们要做的就是制定…
#paxos的一般编译流程在项目文档<中文详细编译手册>里面已经有介绍,这里重点介绍一下编译samples目录下的代码: #我的环境是ubuntu; #设置paxos根目录 phx_dir=~/code/tencent/phxpaxos/ #编译leveldb cd $phx_dir/third_party/leveldb make mkdir lib cd lib ln -s ../libleveldb.a libleveldb.a #编译protobuf cd $phx_dir/third…
之前一个月都在学习googletest框架,对googletest的文档都翻译了一遍,也都发在了之前的博客里,另外其实还有一部分的文档我没有发,就是GMock的CookBook部分:https://github.com/google/googletest/blob/master/googlemock/docs/CookBook.md.这部分我也翻译了,也写了很多代码,但是这部分文档太长了,很难看完,除非是真用到里边的内容才会去里面找,所以就不在这浪费笔墨,如果有想要的可以在下边评论.截了个图:…
单元测试概述 测试并不只是测试工程师的责任,对于开发工程师,为了保证发布给测试环节的代码具有足够好的质量( Quality ),为所编写的功能代码编写适量的单元测试是十分必要的. 单元测试( Unit Test ,模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确,通过编写单元测试可以在编码阶段发现程序编码错误,甚至是程序设计错误. 单元测试不但可以增加开发者对于所完成代码的自信,同时,好的单元测试用例往往可以在回归测试的过程中,很好地保证之前所发生的修改没有…
http://www.uml.org.cn/c++/201203293.asp googletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows.linux.Mac等OS平台上.下面,我来说明如何使用最新的1.6版本gtest写自己的单元测试. 本文包括以下几部分:1.获取并编译googletest(以下简称为gtest):2.如何编写单元测试用例:3.如何执行单元测试.4.google test内部是如何执行我们的单元测试用例的. 1. 获取并编译gtest gtes…
直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分 本文是关于如何将GoogleTest和GoogleMock在没有预先编译安装在机器的情况下,直接在项目中作为项目的一部分进行编译. 目录: 环境依赖 GoogleTest和GoogleMock 在CMake项目中配置GoogleTest和GoogleMock 1. 环境依赖 Note: 环境只列出了本文实现过程中本人机器的配置,不代表最低配置 ubuntu 14.04 64位 CMake 2.8 2.Googl…
Googletest入门 来源:https://github.com/google/googletest/blob/master/googletest/docs/primer.md P.S. gmock作为gtest的孪生兄弟,其通俗介绍可以看这篇:https://blog.csdn.net/wangjingqi930330/article/details/80525056 简介:为啥用googletest 用googletest是为了写更好的测试代码 googletest是谷歌专门的测试框架团…
正式工作之后,公司对于单元测试要求比较严格.(笔者之前比较懒,一般很少写完整的单测~~).作为一个合格的开发工程师,需要为所编写代码编写适量的单元测试是十分必要的,在实际进行的开发工作之中,TDD(Test drivern development) 是一种经过实践可行的开发方式.编写单元测试可以帮助我们在开发阶段就发现错误,并且保证新的修改没有破坏已有的程序逻辑. 在 C++之中,常用的测试框架有 Gtest,Boost test,CPPUint 等.正是由于 Gmock 的加持,让 Gtest…
此篇主要了解一下GoogleTest中的断言. 总的来说,GoogleTest中的断言分为两大类:EXPECT_*和ASSERT_*,这两者在测试成功或失败后均会给出测试报告,区别是前者在测试失败后会继续执行下面的测试,而后者在测试失败后会立即终止测试. GoogleTest中的比较断言,涉及整型,字符串, 浮点型,布尔型的比较判断 Fatal assertion Nonfatal assertion Verifies ASSERT_TRUE(condition) EXPECT_TRUE(con…
1      初识gmock 1.1      什么是Mock 便捷的模拟对象的方法. 1.2      Google Mock概述 google mock是用来配合google test对C++项目做单元测试的.它依赖于googletest Google Mock(简称gmock)是Google在2008年推出的一套针对C++的Mock框架,它灵感取自于jMock.EasyMock.harcreat.它提供了以下这些特性: 轻松地创建mock类 支持丰富的匹配器(Matcher)和行为(Act…