gmock试用

萌新来体验一下gmock。

编译gmock库

https://github.com/google/googletest.git上clone下来,是一个唤作googletest的目录。因为现在gmock的代码已经整体和gtest合并了。

googletest目录下有个README.md,里面白底黑字提醒了编译器版本:

++++++++++++++++++++++++++++++++++++++++README.md
### Compilers

*   gcc 5.0+
*   clang 5.0+
*   MSVC 2015+

我机器上gcc是4.x的,所以先升级gcc,不然有可能编译不过的。

然后编译过程是酱紫的:

# 主目录下有googlemock和googletest,今天我们是来体验mock的
cd gooletest/googlemock
# 注意在googlemock下,cmake父录
cmake ../
# 编
make

编译结果

在googletest/googlemock/lib下面生成了四个编译结果

$pwd; ls
/home/myname/googletest/googlemock/lib
libgmock.a  libgmock_main.a  libgtest.a  libgtest_main.a

把这些库都放到他们应该在的地方,比如 /usr/lib64下面,当然也可以在/usr/lib64下创建软链接。

头文件

不要忘记了头文件,gtest和gmock的头文件分别在这里,放到/usr/include下或者创建软链接。

/home/myname/googletest/googlemock/include/gmock/

/home/myname/googletest/googletest/include/gtest/

一个例子

这里直接用了https://www.cnblogs.com/welkinwalker/archive/2011/11/29/2267225.html这个例子,编译命令:

g++ -o out *.cc -lgtest -lgmock -lpthread

一开始始终报各种undefined错误,仔细检查原来机器上之前安装了1.6.0版本的gtest,这导致当前刚编译的最新版本的gmock和机器上1.6.0版本的gtest不兼容,仔细检查/usr/lib64和/usr/include下面库和头文件是不是gtest和gmock都指向了同一个版本就可以编译成功了。

$./out
Returned Value: Hello World!

回头再来看原理。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值