Я хочу использовать бегемотов, чтобы издеваться над методом в классе. Этот метод вызывается другим методом из того же класса. Как в…
class Foo {
public:
Foo() {}
virtual ~Foo() {}
virtual string getName() {
return "Joe";
}
virtual void print() {
std::cout<<"Name is "<<getName()<<std::endl;
}
};
int main() {
std::cout<<"test mocking classes()..."<<std::endl;
MockRepository mocks;
Foo* pFoo = mocks.Mock<Foo>();
mocks.ExpectCall(pFoo, Foo::getName).Return("John");
pFoo->print();
return 0;
}
тестовые уроки насмешки () …
прекращение вызова после выброса экземпляра HippoMocks :: NotImplementedException
what (): функция вызывается без ожидания!
Есть идеи, почему я не могу издеваться над таким методом?
Пример на http://hippomocks.com/Main_Page выглядит почти так же, как у меня, так что я думаю, что это должно быть поддержано?
Спасибо,
г
Из того, как работает hippomocks, я понимаю, что он переопределяет все виртуальные функции в вашем классе, поэтому исключение, вероятно, вызвано вызовом неожиданного print()
Других решений пока нет …