将 Visual Studio 2010 C++ 与 googlemock 一起使用。我正在尝试使用我创建的模拟,但出现编译器错误:
EmployeeFake employeeStub;
错误是:
1>c:\someclasstests.cpp(22): error C2512: 'MyNamespace::EmployeeFake' : no appropriate
default constructor available
员工假:
class EmployeeFake: public Employee{
public:
MOCK_CONST_METHOD0(GetSalary,
double());
}
员工:
class Employee
{
public:
Employee(PensionPlan *pensionPlan, const char * fullName);
virtual ~Employee(void);
virtual double GetSalary() const;
}
我认为问题是基类没有默认构造函数,但我应该如何解决这个问题?我需要向我的基类添加默认构造函数吗?或者我需要在我的模拟类中添加一个构造函数吗?或者是其他东西?