"); //-->
前言
Google mock(以下简称gmock)和Google Test(以下简称gtest)是google的开源项目,他能够在测试中起到“打桩”的作用。举个例子,有A模块需要调用B模块,需要对A模块进行测试,但是B模块没有实现,那么就可以利用gmock和gtest对B模块进行打桩测试,来模拟B接口的实现测试A接口。本文主要介绍gmock和gtest在linux中的环境搭建。
准备gtest框架
(1) 获取gtest框架
命令行模式下输入:
git clone https://github.com/google/googletest
进入googletest目录,目录有以下内容:

(2) 编译源码
新建编译生成文件夹:mkdir build
进入build文件中,执行命令:cmake ..
继续执行:make
完事后,会在build的lib目录下有这几个文件:

其中图中libgmock.a、libgmock_main.a为gmock需要的文件,libgtest.a和libgtest_main.a为gtest需要的文件。
新建测试项目
(1)新建测试项目目录:mkdir TestGtest
(2)编写functions.h头文件

(3)编写functions.cpp

(4)编写单元测试代码functionsTest.cpp

(5)编写测试代码TestAll.cpp

编译与运行测试代码
(1)在TestGtest目录下新建lib目录。并复制libgtest.a到其中,再将googletest中的include复制到TestGtest下。
(2) 编译测试代码:
编译代码生成目标文件:g++ -o functions.o -c functions.cpp
编译测试代码生成目标文件:g++ -o functionsTest.o -c functionsTest.cpp -I ./include
编译运行测试代码生成目标文件:g++ -o TestAll.o -c TestAll.cpp -I ./include
(3)链接
链接所有.O文件与Gtest框架并生成main可执行文件:g++ -o main *.o -I ./include -L ./lib -lgtest -lpthread
(4)运行测试代码
执行main:./main
输出如下:

可以看到,共有两个用例,通过了两个用例例子中,暂时未使用到gmock,只介绍了gmock和gtest的环境搭建,gmock的具体用法不在此展开。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
软银集团将以40亿美元的人工智能基础设施推动收购DigitalBridge
三相信号发生器
VIVI编译问题
由CD4017构成的三相波形发生器
中国AI芯片制造商加大香港IPO,百度昆仑芯申请,璧韧558亿港元上市
2010全球电子峰会:Altera公司
萨玛集团与耐克森斯汽车电子展开谈判,拟2.07亿欧元收购其线束业务
2010全球电子峰会:Panel Discussion(下)
需要采购指纹识别传感模块,寻找生产商
AT89C52数据手册
2010全球电子峰会:National Semiconductor
单晶阴极降解研究重塑了电池寿命的假设
三相波形发生器电路
AT89C51数据手册
AT89C55数据手册
2026国际消费电子展:Vector Informatik将展示软件定义汽车创新成果
三相方波发生器
哈曼国际将收购采埃孚集团旗下高级驾驶辅助系统业务部门
如何为紧凑型电子设备选择合适的热接口
财报电话预告:台积电2nm聚焦——产能、销售贡献及更多内容
AT89C2051数据手册
请教开发环境的建立的问题?
使用示波器和两个天线定位静电信号源
三相方波信号振荡器
使用SPAD传感器时面临哪些设计挑战?
提供PocketPC2003 BSP for Intel PXA27x
2010全球电子峰会:Panel Discussion(上)
提供wince.net platform builder 4.2 和 5.0
AT28C64X数据手册
2010全球电子峰会:Mentor Graphics