1

我在像这样的类中有一个模拟函数

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 找不到我的默认操作?

4

1 回答 1

1

错误不在上面的代码中。该ON_CALL声明在测试代码之后。

简单的答案:确保在任何代码调用模拟方法之前都有 ON_CALL 语句。

于 2013-02-22T11:26:33.610 回答