c – 如何在单元测试时模拟基类的非重写,虚拟/非虚拟方法?

如何在基类中模拟未重写的非虚拟/虚拟方法并仅测试派生类的方法?
这里的案例是:
我有一个基类X,它有连接到外部服务器的方法,并做了其他一些事情.
我有一个从Y派生的Y类.我在Y中实现了两个方法.我想对它们进行单元测试.我只担心这两个方法,我不希望调用基类实现连接到服务器等(我想要模拟这些方法,但我不想在我的派生类中重写这些方法Y并且不做任何事,因为它是生产代码).
关于如何单独测试这些方法的任何想法/想法?

P.S:我正在使用C / GTest进行开发和单元测试.

最佳答案
一种选择是在test目录中创建一个Mock_base类和继承它的Derived类.现在使用不执行任何操作的函数模拟实际Base中您不感兴趣的任何实现.示例Mock_base :: Connect()可能返回SUCCESS返回码.这样,您可以在不修改源代码的情况下对Derived:funcs()进行单元测试.

转载注明原文:c – 如何在单元测试时模拟基类的非重写,虚拟/非虚拟方法? - 代码日志