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
的具体用法不在此展开。
返回搜狐,查看更多
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。