gtest与gmock的安装与使用

14 篇文章 0 订阅
13 篇文章 1 订阅

背景

公司的项目采用gtest来进行单元测试(其实之前华为海思也是用gtest,但大厂的好处(或者也可以说坏处- dog head)就是不需要关心这些事情),需要安装gtest;
我是在docker下安装的,步骤应该是一样的;

步骤

源码下载

通过git来下载,源码安装:

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

编译

下载后会在下载命令的目录下生成一个 googletest 的文件夹,进入后,通过cmake来编译,先后输入下面的3个命令并执行:

cd googletest
cmake3 CMakeLists.txt
make 

注意:根据个人的cmake设置来进行,我安装的是cmake3,并且没有做重定向,所以是cmake3

头文件和静态库拷贝

我当前的版本,除了下载得到的 googletest 文件夹外,在 googletest 目录下还有一个 googletest ,也就是说目录结构是: googletest/googletest – 后面分别用 googletest_1 和 googletest_2 来具体指2个目录文件
在这里插入图片描述
通过上面的截图也可以看到,在googletest_1目录下除了googletest_2外,还有一个googlemock,这2个就是目标:gtest 和 gmock

静态库拷贝

编译后生成的静态库:gtest(libgtest.a、libgtest_main.a) 、gmock(libgmock.a、libgmock_main.a);所在目录是:
googletest_1 下的lib下:
在这里插入图片描述
将这些.a文件拷贝到 /usr/lib 目录下:

cp ./lib/* /usr/lib

头文件拷贝

头文件是在 googletest_2 下的include目录:
在这里插入图片描述
需要把include下的gtest目录全部拷贝到 /usr/include 目录下:

cp –a include/gtest /usr/include

同样的,把googletest_1下的googlemock目录里的include下的gmock全部拷贝到 /usr/include 目录下:
(需要先进入到 googletest_1的googlemock目录下)

cp –a include/gmock /usr/include

测试

可以通过下面的测试代码来测试gtest是否安装成功:

#include<gtest/gtest.h>
int add(int a,int b){
    return a+b;
}
TEST(testCase,test0){
    EXPECT_EQ(add(2,3),5);
}
int main(int argc,char **argv){
  testing::InitGoogleTest(&argc,argv);
  return RUN_ALL_TESTS();
}

编译后执行:

g++  test.cc -lgtest -lpthread
./a.out

过程及结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lqw198421

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值