如何(如果有的话)我可以在堆上模拟一个模拟类?

时间:2013-04-04 21:55:35

标签: c++ googlemock

我创建了一个测试模拟类,与文档中描述的一样简单:

class MockLogicLoopable : public LogicLoopable 
{
public:
  MOCK_METHOD0(update,void());
  MOCK_METHOD0(loopableType,LoopableType());
};

现在我想做这样的事情:

TEST(Examplegroup,Example)
{
    MockLogicLoopable* mll = new MockLogicLoopable();
    EXPECT_CALL(mll,loopableType())
        .WillRepeatedly(Return(LOGIC));
}

我不确定如果可以用googlemock实现这样的事情。

1 个答案:

答案 0 :(得分:4)

您在mll中有一个指针,但EXPECT_CALL期望其第一个参数为值。用*取消引用指针,就像其他任何指针一样:

EXPECT_CALL(*mll, loopableType())
  .WillRepeatedly(Return(LOGIC));