C++开发测试工具gmock使用详解(进阶)——对抽象接口类进行gmock打桩并测试

本文介绍了如何使用gmock进行单元测试的进阶应用,通过创建Mock类模拟未完成的Turtle接口实现,进行Painter类的功能测试。详细讲解了MockTurtle类的编写,以及在测试中设置期望和验证调用的方法,帮助理解gmock在实际项目中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇文章(C++开发测试工具gmock使用详解——对抽象接口类进行gmock打桩并测试)主要介绍了对抽象接口类进行gmock打桩的基本流程并利用简单Demo进行测试。本文将介绍gmock打桩的进阶案例,结合上文一起食用效果更佳哦~

一、Mock深入理解

当开发者在单元测试、模块接口测试时,当这个模块需要依赖另外一个/几个类,而这时这些个类还没有开发好(因为某些原因),这时我们就可以定义了Mock对象来模拟那些没开发好类的行为。
Mock框架可以帮助比较方便、轻松地实现这些假的依赖类。

接下来介绍一下gmock的进阶代码,加深大家对于gmock打桩的了解。

二、进阶Demo

进阶代码实现海龟turtle运动的一个程序。

2.1 共同约定

与其让我编写的应用程序直接与系统 API 通信,不如将 API 包装在一个接口中(interface),然后编写代码实现该接口:

//接口
class Turtle {
   
public:
	//控制turtle运动是否留下痕迹
	virtual void PenUp() = 0;	//画笔抬起
	virtual void PenDown() = 0;	//画笔落下
	//控制turtle运动方向
	virtual void Forward(int distance) = 0;	//前进
	virtual void Turn(int degrees) = 0;		//转向
	virtual void GoTo(int x, int y) = 0;	//前往(x,y)位置
	//获取turtle当前位置
	virtual int GetX() = 0;	//获取x的坐标
	virtual int GetY() =</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wendy_ya

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

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

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

打赏作者

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

抵扣说明:

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

余额充值