mockcpp用法

google test也有gmock但是只能对对象mock,不能对C函数mock.

mock工具的作用是指定函数的行为,可以对入参进行校验,对出参进行设定,还可以指定函数的返回值。

https://github.com/sinojelly/mockcpp/blob/master/docs/SimpleUserInstruction_zh.md

(1)mock规范:每个MOCKER(function)开始,跟一系列的.stubs、.with、.will等的内容的整体,称为一个mock规范。

(2)核心关键字:指stubs/defaults/expects/before/with/after/will/then/id等这些直接跟在点后面的关键字。

(3)扩展关键字:指once()/eq()/checkWith()/returnValue()/repeat()等这些作为核心关键字参数的关键字。

1、mock C函数或者类的静态成员方法用MOCKER;

mock 类的非静态成员方法需要先用MockObject<MyClass> mocker;声明一个mock对象,再用MOCK_METHOD(mocker, method)来mock指定方法。

 // mock的类不全是虚方法, 如果调用到非虚方法,则mock框架不会报错,而是调用真正的非虚方法,可能出现内存非法访问。
    // 从设计解耦的角度讲,应尽可能面向接口编程,而需要mock的也都是接口。接口里面的方法全是虚方法。所以不存在这种情况。
    // 如果实际使用中,用来mock带有非虚方法,甚至含有成员变量的类,则可能出现问题。需要小心。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值