33

Google モックを使用して、何らかの失敗があった場合にモック オブジェクトでメソッドが呼び出されないことをテストしたいと思います。コードは次のようになります。

auto mocObj = new MockObj;
EXPECT_NO_METHOD_CALL(mocObj); //this is what I'm locking for

auto mainObj = new MainObj(mocObj , ......and other mocks); // here I simulate a fail using the other mock objects, and I want to be sure the no methods are called on the mockObj
4

4 に答える 4

66

メソッドが呼び出されないことを明示的に伝える必要はありません。ログレベルを十分に高く設定すると、メソッドが呼び出された場合にメッセージが表示されます (期待値が設定されていない場合)。

それ以外は、次のように期待値を設定できます。

EXPECT_CALL( mockObj, Foo(_) ).Times(0);

すべての方法で。

于 2011-12-27T19:36:13.260 に答える
23

を作成しStrictMockます。予期しないメソッド呼び出しは失敗します。

于 2011-12-27T19:28:57.463 に答える
5

すべてのクラス メソッドに Exactly(0) を使用します。

カーディナリティはゼロに設定されるため、呼び出しは想定されていません

于 2015-03-10T09:32:50.600 に答える
0

StrictMockの代わりに使用することもできますNiceMockEXPECT_CALLこれは、「興味のない」呼び出し、つまり、モックのメソッドが呼び出されたが定義されていないときはいつでも失敗します。

こちらの Google Mock のドキュメントを参照してください

于 2021-02-22T17:27:26.630 に答える