假設Client的定義如下
class
Client
{
......
public
:
virtual bool GetData(std::string& data);
......
};
我們只需要重寫Getdata的方法,并且當參數data被傳進來時,我們可以返回特定的值。
這一套方法,google已經提供了很好的一套框架:gmock
下面介紹一下它的用法
#include
"client.h"
//被mock的類的頭文件
#include <gmock gmock.h=
""
>
// gmock 的頭文件
class
MockClient :
public
Client
{
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的函數參數列表
這樣,一個“樁”就“打”好了。
新聞熱點
疑難解答