GMock 和具有非虚拟方法的类中的模拟构造函数

GMock and mocking constructors in a class with non virtual methods

本文关键字:模拟 构造函数 方法 虚拟 GMock      更新时间:2023-10-16

我需要模拟一个只有非虚拟方法的类。此类具有复制构造函数。如何为此编写模拟方法。我得到一个如果我只使用

MOCK_METHOD1(classname, void(classname& source)); 

提前谢谢。

你不能用gmock模拟非虚函数。因此,要考虑的第一种选择是使函数虚拟化。如果您担心使函数虚拟的性能开销,请确保这确实是一个问题(通过测量),因为通常不是。

如果无法使函数虚拟,另一种解决方案是使用模板。有关此技术的详细信息,请参阅此问题,并了解使用它的利弊。