我在像
这样的类中有一个模拟函数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);
但是gmock没有返回1,而是给出了以下错误:
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找不到我的默认动作?
答案 0 :(得分:1)
错误不在上面的代码中。 ON_CALL
语句在测试代码之后。
简单回答:在任何代码调用模拟方法之前,请务必使用ON_CALL语句。