Как (если вообще) я могу издеваться над насмешливым классом в куче?

Я создал тестовый макет класса, довольно простой, как описано в документации:

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.

3

Решение

У вас есть указатель в mll, но EXPECT_CALL ожидает, что его первый аргумент будет значением. Разыменуйте свой указатель с *так же, как и любой другой

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]