ニースモックでモックを使用したいと思います。モックには、別のモックを引数として取る1つのコンストラクタがあります。これは私が正常に動作NiceMockコンストラクタパラメータとして別のモックを持つモック
class ClassA
{
ClassA() { }
};
template <class T>
class ClassB>
{
ClassB(ClassA & a) { } // constructor, no default constructor for this class
};
class ClassC
{
ClassC() { }
};
class MyTest : public Test
{
MockClassA a;
MockClassB<ClassC> * b = NULL;
SetUp()
{
b = new MockClassB<ClassC>(a);
}
...
};
を動作する必要があり、コードの小さな例ですが、私はこの
MockClassA a;
NiceMock<MockClassB<ClassC>> * b = NULL;
SetUp()
{
b = new NiceMock<MockClassB<ClassC>>(a);
}
ようNiceMockでMockClassBを使用しようとすると、私はcannot convert argument 1 from 'const MockClassA' to 'ClassA &'
を言ってコンパイルエラーを取得します。 ClassBのコンストラクタへの引数の型であるClassAにエラーがあることに注意してください。それは私だけなエラーが出る、NiceMock<MockClassA> a
ようNiceMock中にClassAをラップするのに役立ちません。cannot convert argument 1 from 'const testing::NiceMock<MockClassA>' to 'ClassA &'
私は仕事NiceMockで使用している他のテンプレートクラスを持っているし、彼らは任意のコンストラクタのパラメータを持っていません。
アイデア?
働いていたポインタを指すポインタを渡すために!ありがとう! – Martin