首页 > 学院 > 操作系统 > 正文

Gtest打桩函数

2024-06-28 13:20:38
字体:
来源:转载
供稿:网友
Gtest打桩函数

假设Client的定义如下

class Client {......public:  virtual bool GetData(std::string& data);......};

我们只需要重写Getdata的方法,并且当参数data被传进来时,我们可以返回特定的值。

这一套方法,google已经提供了很好的一套框架:gmock

下面介绍一下它的用法

#include"client.h" //被mock的类的头文件#include <gmock gmock.h="">// gmock 的头文件classMockClient :publicClient{public:  MockClient():Client() {}  MOCK_METHOD1(GetData, bool(std::string&));}</gmock>

这里使用了一个宏MOCK_METHOD1

原形是MOCK_METHOD#1(#2, #3(#4) )

#1表示被mock的函数参数个数,#2表示被mock的函数名称,#3表示被mock的函数返回值,#4表示被mock的函数参数列表

这样,一个“桩”就“打”好了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表