Насмешливый член c функциональный член - PullRequest
1 голос
/ 23 апреля 2020

Я пытаюсь смоделировать stati c член функции с помощью gmock. Я нашел раздел в gMock Cookbook , в котором рассказывается о функциях, свободных от насмешек. Однако мне не ясно ..

Например, у меня есть функция c stati isActiveMode , которую я хочу смоделировать. Вместо непосредственного вызова isActiveMode я должен ввести для него интерфейс и иметь конкретный подкласс, который вызывает функцию stati c:

class MyClassInterface { 

public:
...
virtual bool isActive() = 0;

};

class MyClass: public MyClassInterface { 

public:
...
virtual bool isActive() 
{ 
    return isActiveMode();
} 

};

Затем я определяю класс mock:

class MyMock {

public:
MOCK_METHOD(bool, isActive, (), (override));

};

Но, похоже, это не работает .. Кто-нибудь знает, как заставить это работать?

1 Ответ

0 голосов
/ 23 апреля 2020

Ваш класс макета должен быть получен из класса интерфейса.

class MyMock : public MyClassInterface {

public:
MOCK_METHOD(bool, isActive, (), (override));

};

Если это не поможет, предоставьте минимальный воспроизводимый пример , показывающий, как вы используете макет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...