新闻  |   论坛  |   博客  |   在线研讨会
linux下搭建gtest和gmock测试框架
电子禅石 | 2020-03-27 14:02:02    阅读:9355   发布文章

前言

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的具体用法不在此展开。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客