Visual Studio 2010C++を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スタブ」にあります。ライン。このエラーが発生するのはなぜですか?モック/スタブオブジェクトを正常に作成するにはどうすればよいですか?