2013-02-22 34 views
1

符合我的論點我有一類像gmock匹配不參照

int foo(const bar& b) const; 

一個嘲笑功能被嘲笑像

MOCK_CONST_METHOD1(foo, int(const bar& b)); 

爲此,我已經設置設置一些默認操作像

ON_CALL(anObject, foo(bar(0,0))).WillByDefault(Return(1)); 

我的測試代碼調用

anObject.foo(bar(0,0); 

而不是返回1,但,gmock給我以下錯誤:

Uninteresting mock function call - returning default value. 
Function call: foo(@0xbfffcf90 8-byte object <00-00 00-00 00-00 00-00>) 
The mock function has no default action set, and its return type has no default value set. 

operator ==針對對象bar定義。爲什麼不能gmock找到我的默認操作?

回答

1

錯誤不在上面的代碼中。 ON_CALL聲明位於測試代碼之後。

簡單的回答:在任何代碼調用模擬方法之前,一定要有ON_CALL語句。