gTest&gMock learning】的更多相关文章

在C++中,编写服务后的一种测试方式是使用google的gTest和gMock结合 之前写py,测试方式是将服务挂起,使用工具模拟请求发包,check resp,这样的缺点在于不方便,即使存下了所有的模拟请求,回头还是要按一遍,并且所做的测试并不能算作单元测试,而是集成 而使用test&mock的方式可以做到固定的单元测试 gTest:编写固定的单元测试代码,对每个c++的服务类进行测试 gMock:所测试的单元可能会有依赖的部分,我们当然是确保这些依赖项完全正确,那么就会面临一个局面:1 我们…
提起白盒测试,很多程序员可能觉得就是个书上的概念,很多人写完代码根本没有具体的测试方案,自己觉得可行就提交了,其实这是个很危险的事情,毕竟出了bug,最后要加班的人还是你 ,因此做好白盒测试,100%的覆盖是很重要的. 事实上,VS中已经集成了单元测试框架.可是,要达到更广泛的测试目的,需要借助下外援了. 本文希望通过介绍由Google出品的Gmock和Gtest框架,帮助程序员完成单元测试.也是自己的学习记录 网上给的地址都在墙外,这里给个可以用的下载地址,1.7.0点这里 另外 附上1.8.…
目录 一.vcpkg简介.下载和使用 1. vcpkg是什么 2. vcpkg下载 3. 使用vcpkg下载第三方库 二.clion结合vcpkg 1. 方法一:使用环境变量 2. 方法二:添加cmake指令[推荐] 三.clion通过vcpkg使用GTest 1. GTest简介 2. GTest配置 3. GTest的简单使用 一.vcpkg简介.下载和使用 1. vcpkg是什么 vcpkg对于我们用户来说相当于一个c++的包管理器,其他语言中类似的包管理器有: Java:Maven Ja…
视频参考:Google C++ Testing GTest GMock Framework 为什么要使用 Google C++ Testing Framework? 使用这个框架有许多好理由.本文讨论其中几个. 某些类型的测试有糟糕的内存问题,这些问题只在某几次运行期间出现.Google 的测试框架为处理这种情况提供了出色的支持.可以使用 Google 框架重复运行相同的测试一千次.当出现故障的迹象时,自动地调用调试器.另外,这只需要在命令行上传递两个开关即可实现:--gtest_repeat=…
我自己写的业余框架已告一段落,主体功能已完成,剩下的就是优化.第一个要优化的,就是代码格式.我一直是用编辑器写代码的,从之前的UltraEdit到notepad++到sublime text,再到现在的VS Code.由于代码都是我一个人写,风格也比较统一,虽然说不上美观,但至少说得过去.但寻思着以后万一有人要用这代码,总得有个较为通用的代码风格才行,而且我也不太可能去人工约束别人怎么写,那就用工具吧. C++不像Java.C#.TypeScript这些语言,他们都有较为通用的代码风格标准,比较…
正式工作之后,公司对于单元测试要求比较严格.(笔者之前比较懒,一般很少写完整的单测~~).作为一个合格的开发工程师,需要为所编写代码编写适量的单元测试是十分必要的,在实际进行的开发工作之中,TDD(Test drivern development) 是一种经过实践可行的开发方式.编写单元测试可以帮助我们在开发阶段就发现错误,并且保证新的修改没有破坏已有的程序逻辑. 在 C++之中,常用的测试框架有 Gtest,Boost test,CPPUint 等.正是由于 Gmock 的加持,让 Gtest…
一.gmock是什么 gmock是google公司推出的一款开源的白盒测试工具.gmock是个很强大的东西,测试一个模块的时候,可能涉及到和其他模块交互,可以将模块之间的接口mock起来,模拟交互过程.其作用就类似白盒测试中的打桩的概念. 下面简单的说说打桩在白盒测试中的重要性: 1.比如银行业务,需要测试业务模块.此时,不可能去操作真实的数据库,并且搭建新的数据库可能比较复杂或者耗时.那么就可以用gmock将数据库接口地方打桩,来模拟数据库操作. 2.比如要测试A模块,必过A模块需要调用B模块…
http://www.cnblogs.com/coderzh/archive/2010/01/09/beautiful-testcase.html 使用gtest也有很长一段时间了,这期间也积累了一些经验,所以分享一下.GTest为我们提供了便捷的测试框架,让我们只需要关注案例本身.如何在GTest框架下写出优美的测试案例,我觉得必须要做到: 案例的层次结构一定要清晰 案例的检查点一定要明确 案例失败时一定要能精确的定位问题 案例执行结果一定要稳定 案例执行的时间一定不能太长 案例一定不能对测试…
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…
本来以为像之前链接boost一样,加个链接路径就好了,没想到报找不到gtest的符号,搞了半天,没弄明白啥原因. 网上也没搜到好方法,只能把gtest的源码加到项目里,然后在链接了. CMake配置如下: set(googleTestDir "C:/Users/z00199662/CLionProjects/MyCppProject/googletest-master") #Add the google test subdirectoryadd_subdirectory(${googl…