Я работаю с Google Mock, чтобы смоделировать поведение класса.Объект, над которым я издеваюсь - это std: shared_prt.Почему-то я не могу перенаправить вызов метода (фиктивного метода) другому методу в классе.
Метод, который я хочу вызвать redirectToStartOfBaseClass (), вызывает метод start () - Метод базового класса (NMEADataControler)
Класс Mock:
class NMEADataControler_Mock : public NMEADataControler{
...
// The method I want to redirecto to ...
void redirectToStartOfBaseClass();
...
// ... when this mock method is called
MOCK_METHOD0(start, void());
...
}
класс с тестовым приспособлением, которое я использую
class TestFixtureClass : public ::testing::Test{
...
std::shared_ptr<NMEADataControler_Mock> NEMADummy;
...
}
Метод испытания:
TEST_F(TestFixtureClass, StupidTest){
...
ON_CALL(*NMEADummy, start())
.WillByDefault(Invoke( ?????? ) //What parameters to I have to put in here?
//To redirect to *NMEADummy->redirectToStartOfBaseClass()
}
Я не настолько опытен в C ++ и не знаком с ним, поэтому, пожалуйста, простите меня, если мои ошибкиочевидны и супер глупы.
PS: Я уже довольно долго искал решение и не могу ничего найти.Вот почему я спрашиваю вас, ребята, я в отчаянии, я надеюсь, что вы можете мне помочь: (