Я пытаюсь освоить Google Mocks, но столкнулся с проблемой, пытаясь издеваться над невиртуальными методами. У меня есть класс Socket, который я хочу издеваться. У него есть невиртуальный метод под названием «запись», который принимает аргументы:
class Socket {
public:
int write(const unsigned char* buffer, size_t bufferLength) const;
}
Итак, я создаю класс Mock как указанную кулинарную книгу:
class MockSocket {
public:
MOCK_CONST_METHOD0(write, int(const unsigned char* data, size_t dataLength));
};
Но это не компилируется. Выдает следующие ошибки:
error: size of array ‘this_method_does_not_take_0_arguments’ is negative
error: no matching function for call to ‘testing::internal::FunctionMocker<int ()(const unsigned char*, size_t)>::Invoke()’
error: no matching function for call to ‘testing::internal::FunctionMocker<int ()(const unsigned char*, size_t)>::With()’
Может кто-нибудь сказать мне, почему??
Спасибо.