【发布时间】:2015-09-11 16:03:31
【问题描述】:
我刚刚开始使用 Google Mock。 For Dummies 相当容易理解。
但是,我不明白为什么这个例子有
class MockTurtle : public Turtle {
public:
...
MOCK_METHOD0(PenUp, void());
MOCK_METHOD0(PenDown, void());
MOCK_METHOD1(Forward, void(int distance));
MOCK_METHOD1(Turn, void(int degrees));
MOCK_METHOD2(GoTo, void(int x, int y));
MOCK_CONST_METHOD0(GetX, int());
MOCK_CONST_METHOD0(GetY, int());
};
有多个 MOCK_METHOD0 和多个 MOCK_METHOD1 等。具有相似签名的函数似乎得到相同的模拟号,但文档没有提到这一点,解释了如何和为什么,并且定义是相同的。我怎么知道该怎么做?
【问题讨论】:
-
乍一看,数字似乎表示模拟方法所采用的参数数量。
-
投票结束“主要基于意见”问题的人不明白问题是什么。
-
更新:在最近的 gmock 版本中,参数的后缀是不需要的。
MOCK_METHOD用于所有模拟函数。
标签: c++ googlemock gmock