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);

しかし、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がデフォルトのアクションを見つけられないのはなぜですか?

4

1 に答える 1

1

エラーは上記のコードにはありませんでした。ON_CALLステートメントは、テスト中のコードの後に​​ありました。

簡単な答え:コードがモックされたメソッドを呼び出す前に、必ず ON_CALL ステートメントを用意してください。

于 2013-02-22T11:26:33.610 に答える