【发布时间】:2017-10-05 09:55:36
【问题描述】:
我有一个场景,其中实例化本地对象以调用该类的方法,即setSessionId()。 setSessionId的定义如下:
int Cli::setSessionId()
{
SessionHandler oHandleSession;
return oHandleSession.getSessionId(sSessionId);
}
现在为了模拟SessionHandler 的函数,我使用宏在我想模拟的函数之前添加了virtual 关键字,在这种情况下getSessionId()因为这个类不是抽象的,函数也不是纯虚拟的。 (我知道 Hi-Perf 依赖注入,但现阶段不想参与)
情况是这样的
int Cli::setSessionId(SessionHandler* oHandleSession)
{
...
return oHandleSession->getSessionId(sSessionId);
}
将模拟对象传递给函数setSessionid() 本来很简单,但由于使用了聚合,我如何模拟这个函数getSessionId()?
【问题讨论】:
标签: c++ unit-testing googletest googlemock