Я хочу смоделировать набор методов в классе Man. Как сделать это с помощью gmock? Вот как я стараюсь. Что не так?
bool Man::set(uint8_t val)
{
//not important, let it be
print("aaa");
}
bool alfa(bool a)
{
Man m;
m.set(a == true ? 1 : 0);
return true;
}
class MockMan : public Man {
public:
MOCK_METHOD(bool, set, (uint8_t val));
};
TEST(unit_test, Alfa_test) {
MockMan mock;
EXPECT_CALL(mock, set(1));
EXPECT_EQ(alfa(true), true);
}
Я сильно упростил код :) В чем проблема? Mock не вызывается, вместо этого я всегда вызываю оригинальный метод 'set' и печатаю aaa.