zoukankan      html  css  js  c++  java
  • gmock学习01---Linux配置gmock

    本文目的

    本文主要介绍gmock 1.6.0版本在Linux上如何部署和使用。

    gmock是做什么的?

    使用C++手动编写mock对象将会是一件十分耗时,易于出错,枯燥乏味的事情。gmock提供一整套mock 框架,帮助你完成这些脏活累活。

    编译gmock

    下载:gmock官方下载

    上传:使用WinScp或其他工具将gmock_1.x.x.zip上传到linux机器,该linux上的gcc版本最好在4.0以上。

    解压:使用命令“unzip gmock_1.x.x.zip”,解压后会在“gmock_1.x.x.zip”同一个目录下生成一个gmock_1.x.x目录,使用命令“mv gmock_1.x.x gmock”将该目录改命为gmock,设gmock目录的路径为GMOCK_HOME。

    编译:使用如下些列命令编译

    cd GMOCK_HOME/make # 跳转到Makefile目录

    make # 编译

    ln -s gmock_main.a libgmock.a # 为gmock_main.a制作符

    合GNU标准的软链接

    ll # 查看编译结果,如下图

    clip_image002

    验证:注意上面的截图,可以看见gmock_test这个文件,该文件用于测试,使用命令“./gmock_test”运行改程序,如果出现下面全部绿色的文字,说明你的gmock编译成功,环境搭建完成。

    clip_image004

    gmock_main.a中都有些什么

    编译完gmock后吗,主要生成了一个静态库gmock_main.a。该库中包含了gmock的框架,同时,也包含了gtest框架,可以认为gtest是gmock的一个子集。在gmock_main.a中默认编译了一个main函数,该main函数会初始化gmock和gtest,并且执行所有的TEST或TEST_F宏定义的测试用例,所以使用gmock_main.a进行单元测试时,不能编写main函数,否则会出现多个main冲突。如果需要重写main函数,可以使用命令“make gmock.a”,重新编译,会生成文件gmock.a,如下图所示

    clip_image006

    那么此时你需要自己编写main函数和初始化gmock框架。

    gtest不支持正则表达式悲伤gmock支持微笑

    gtest框架没有提供字符串正则表达式的api,但是gmock提供了,gmock没有重造轮子自己写一个正则的库,而是封装了<regex.h>中的相关api,在编译gmock时,会通过宏来判断系统中是否支持<regex.h>,如果系统不支持,那么gmock中的正则api将无法使用。下面的示例代码描述了如何使用正则API:

    clip_image008

    同时,也可以参考gmock的官方说明文档中的正则匹配相关部分。

    使用gmock

    附件中有一个工程,试用了gmock,感觉使用起来还是很方便的。看代码比看我的描述要快,我就不多啰嗦。这里,简单的描述如何编译该项目

    clip_image010

    该项目编译时使用的是gmock和gmock中自带的gtest,在编译过程中需要将该项目的根目录和gmock同一个层级。然后cd到该项目中,make就可以编译。通过“./mock_demo”运行该项目。如下图所示:

    clip_image012

    当然,这里只是简单的介绍了如何使用gmock,gmock还有很多使用技巧和方法大家可以自己去摸索总结。

    附件http://files.cnblogs.com/bourneli/gmock_learn.zip

    相关资料

    声明:如有转载本博文章,请注明出处。您的支持是我的动力!文章部分内容来自互联网,本人不负任何法律责任。
  • 相关阅读:
    公用表表达式(CTE)的递归调用
    c# 如何让tooltip显示文字换行
    实战 SQL Server 2008 数据库误删除数据的恢复
    SQL SERVER数据库中 是否可以对视图进行修改删除
    asp.net中实现文件批量上传
    sql server 2008学习2 文件和文件组
    sql server 2008学习3 表组织和索引组织
    sql server 2008学习4 设计索引的建议
    sql server 2008学习10 存储过程
    .net 调用 sql server 自定义函数,并输出返回值
  • 原文地址:https://www.cnblogs.com/fnlingnzb-learner/p/6927826.html
Copyright © 2011-2022 走看看