web-dev-qa-db-ja.com

google mock:モックでメソッドが呼び出されないことを「期待」するにはどうすればよいですか

いくつかの失敗の場合にテストしたいのは、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
27
angela d

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

16
ephemient

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

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

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

すべてのメソッド。

46
BЈовић

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

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

4