我想用Gmock模拟一个C ++类;但是,该类没有默认构造函数。我看到了this question,但是使用 strict 模拟解决方案对我来说不起作用,因为我收到了错误
type 'BaseClass' is not a direct base of 'MockClass'
任何解决方案?
答案 0 :(得分:0)
您引用的答案中给出的解决方案应该适用于严格的模拟,除非您的代码有一些独特之处使它与众不同。这是我认为你想要做的事情的一个例子,它成功编译:
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);
}