GMock 和具有非虚拟方法的类中的模拟构造函数
GMock and mocking constructors in a class with non virtual methods
我需要模拟一个只有非虚拟方法的类。此类具有复制构造函数。如何为此编写模拟方法。我得到一个如果我只使用
MOCK_METHOD1(classname, void(classname& source));
提前谢谢。
你不能用gmock模拟非虚函数。因此,要考虑的第一种选择是使函数虚拟化。如果您担心使函数虚拟的性能开销,请确保这确实是一个问题(通过测量),因为通常不是。
如果无法使函数虚拟,另一种解决方案是使用模板。有关此技术的详细信息,请参阅此问题,并了解使用它的利弊。
相关文章:
- "error: no matching function for call to"构造函数错误
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- 选择要调用的构造函数
- 如何委托派生类使用其父构造函数?
- 构造函数正在调用一个使用当前类类型的函数
- 没有用于初始化模拟工厂的匹配构造函数
- Google Mock:在目标类的构造函数中实例化的模拟私有变量成员
- 是否可以使用 EXPECT_CALL 来验证模拟对象的构造函数是否在某些时候调用成员函数?
- 模拟模板类的静态构造函数
- 模拟虚拟方法的构造函数
- 如何用gmock模拟构造函数和析构函数
- 使用GMOCK模拟具有私有构造函数的类
- 如何在C中模拟构造函数和析构函数行为(对于特定的数据类型)
- 模拟模板化构造函数.太奇怪了
- 模拟虚拟副本构造函数
- 使用参数构造函数模拟new[]
- GMock 和具有非虚拟方法的类中的模拟构造函数