使用严格Gmock模拟参数化构造函数 我想用GMOCK模拟C++类;但是,该类没有默认构造函数。我看到了,但是使用严格的mock解决方案对我不起作用,因为我得到了错误
使用严格Gmock模拟参数化构造函数 我想用GMOCK模拟C++类;但是,该类没有默认构造函数。我看到了,但是使用严格的mock解决方案对我不起作用,因为我得到了错误,c++,unit-testing,mocking,googlemock,C++,Unit Testing,Mocking,Googlemock,类型'BaseClass'不是'MockClass'的直接基。 有什么解决方案吗?您所引用的答案中给出的解决方案应该适用于严格的模拟,除非您的代码有什么独特之处使其与众不同。下面是一个我认为您正在尝试的示例,它成功编译: class A { public: A(int value) : _value(value) {} virtual void f() {} private: int _value; }; class MockA : public A { public
类型'BaseClass'不是'MockClass'的直接基。
有什么解决方案吗?您所引用的答案中给出的解决方案应该适用于严格的模拟,除非您的代码有什么独特之处使其与众不同。下面是一个我认为您正在尝试的示例,它成功编译:
class A {
public:
A(int value) : _value(value) {}
virtual void f() {}
private:
int _value;
};
class MockA : public A {
public:
MockA(int value) : A(value) {}
MOCK_METHOD0(f, void());
};
TEST( StackOverflow, StrictMockNoDefaultConstructor ) {
StrictMock<MockA> strictMockA(1);
}
A类{
公众:
A(int值):_值(value){}
虚空f(){}
私人:
int_值;
};
A类:公共A{
公众:
MockA(int值):A(值){}
模拟方法0(f,void());
};
测试(StackOverflow、StrictMockNoDefaultConstructor){
Stricomock Stricomocka(1);
}
免责声明我在Typemock工作。使用Isolator++可以模拟任何类,而不考虑其基础:SomeClass*fakeClass=FAKE_ALL()代码>