gmock无法将值传递给我的函数

时间:2014-03-06 06:02:17

标签: c++ gmock

我在我的项目中使用gmock,我遇到了为mock函数设置自定义引用变量的问题。我使用了SetArgPointee和Return,但该函数只能获得返回值。

我的模拟功能是

MOCK_METHOD1_WITH_CALLTYPE(__stdcall, get_length, HRESULT(long *p));

我的TEST是这样的:

long pl = 10;    
EXPECT_CALL(*ihtmlelemc, get_length(_)).WillOnce(DoAll(SetArgPointee<0>(pl), Return(S_OK)));
我的测试功能

long len = 0;
HRESULT hr;

hr = pObjCollect->get_length(&len);
if (hr != S_OK || len == 0)
{
    return E_NOINTERFACE;
}

当我运行测试时才发现thr hr是S_OK,len仍为0,len无法获取值,任何人都可以告诉我为什么以及如何获取值,谢谢。

0 个答案:

没有答案