Использование Visual Studio 2010 C ++ с GMock. Попытка создать объект-заглушку для стороннего класса, который используется моими классами, но я получаю следующую ошибку:
Ошибка: объект типа абстрактного класса
«ThirdPartyClassFake» не допускается.
Класс третьей стороны определяется как:
namespace ThirdPartyNamespace
{
class __declspec(novtable) ThirdPartyClass : public ThirdPartyBaseClass
{
public:
virtual bool Hello() const = 0;
virtual bool Goodbye() const = 0;
};
}
Я создал этот макет:
namespace ThirdPartyNamespace {
class ThirdPartyClassFake : public ThirdPartyClass {
public:
MOCK_CONST_METHOD0(Hello, bool());
MOCK_CONST_METHOD0(Goodbye, bool());
};
}
Сейчас в моем тесте я пытаюсь сделать:
TEST(MyService, WhenCalled_DoesTheRightThingTM) {
// Arrange
ThirdPartyClassFake stub;
// Act
...
// Assert
...
}
Ошибка на "заглушке ThirdPartyClassFake;" линия. Почему я получаю эту ошибку и как я могу успешно создать объект макета / заглушки?