专栏中心

EEPW首页 > 专栏 > linux下搭建gtest和gmock测试框架

linux下搭建gtest和gmock测试框架

发布人:电子禅石 时间:2020-03-27 来源:工程师 发布文章

前言

Google mock(以下简称gmock)和Google Test(以下简称gtest)是google的开源项目,他能够在测试中起到“打桩”的作用。举个例子,有A模块需要调用B模块,需要对A模块进行测试,但是B模块没有实现,那么就可以利用gmockgtestB模块进行打桩测试,来模拟B接口的实现测试A接口。本文主要介绍gmockgtestlinux中的环境搭建。

准备gtest框架

(1)  获取gtest框架

命令行模式下输入:

git clone https://github.com/google/googletest

进入googletest目录,目录有以下内容:

11.jpg

(2)    编译源码

新建编译生成文件夹:mkdir build

进入build文件中,执行命令:cmake ..

继续执行:make

完事后,会在buildlib目录下有这几个文件:

12.jpg

其中图中libgmock.a、libgmock_main.a为gmock需要的文件,libgtest.a和libgtest_main.a为gtest需要的文件。


新建测试项目

(1)新建测试项目目录:mkdir TestGtest

(2)编写functions.h头文件

13.jpg

(3)编写functions.cpp

14.jpg

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

15.jpg

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

16.jpg

编译与运行测试代码

(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

输出如下:

17.jpg

可以看到,共有两个用例,通过了两个用例例子中,暂时未使用到gmock,只介绍了gmockgtest的环境搭建,gmock的具体用法不在此展开。


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

软银集团将以40亿美元的人工智能基础设施推动收购DigitalBridge

VIVI编译问题

sxbo 2005-10-13

中国AI芯片制造商加大香港IPO,百度昆仑芯申请,璧韧558亿港元上市

EDA/PCB 2026-01-04

2010全球电子峰会:Altera公司

视频 2010-05-14

萨玛集团与耐克森斯汽车电子展开谈判,拟2.07亿欧元收购其线束业务

2010全球电子峰会:Panel Discussion(下)

AT89C52数据手册

2010全球电子峰会:National Semiconductor

视频 2010-05-14

单晶阴极降解研究重塑了电池寿命的假设

AT89C51数据手册

AT89C55数据手册

2026国际消费电子展:Vector Informatik将展示软件定义汽车创新成果

哈曼国际将收购采埃孚集团旗下高级驾驶辅助系统业务部门

如何为紧凑型电子设备选择合适的热接口

财报电话预告:台积电2nm聚焦——产能、销售贡献及更多内容

EDA/PCB 2026-01-04

AT89C2051数据手册

使用示波器和两个天线定位静电信号源

使用SPAD传感器时面临哪些设计挑战?

2010全球电子峰会:Panel Discussion(上)

AT28C64X数据手册

2010全球电子峰会:Mentor Graphics

视频 2010-05-14
更多 培训课堂
更多 焦点
更多 视频

技术专区