サーチ…


簡単なメソッド呼び出しの検証

Mockito.verify()を使用して、メソッドがモックで呼び出されたかどうかを検証できます。

Original mock = Mockito.mock(Original.class);
String param1 = "Expected param value";
int param2 = 100; // Expected param value

//Do something with mock

//Verify if mock was used properly
Mockito.verify(mock).method();
Mockito.verify(mock).methodWithParameters(param1, param2);

通話の順序を確認する

場合によっては、1つのメソッドが呼び出されたかどうかを知ることでは不十分な場合もあります。メソッドの呼び出し順序も重要です。そのような場合は、メソッドの順序を検証するためにInOrderクラスのMockitoを使用することができます。

SomeClass mock1 = Mockito.mock(SomeClass.class);
otherClass mock2 = Mockito.mock(OtherClass.class);

// Do something with mocks

InOrder order = Mockito.inOrder(mock1, mock2)
order.verify(mock2).firstMethod();
order.verify(mock1).otherMethod(withParam);
order.verify(mock2).secondMethod(withParam1, withParam2);

InOrder.verify()と同じようにMockito.verify()ます。

ArgumentCaptorを使用して呼び出し引数を検証する

ArgumentCaptorは、メソッドに渡された実際の呼び出し引数を受け取ります。

ArgumentCaptor<Foo> captor = ArgumentCaptor.forClass(Foo.class);
verify(mockObj).doSomethind(captor.capture());
Foo invocationArg = captor.getValue();
//do any assertions on invocationArg

すべての呼び出し引数を受け取る模擬メソッドの複数の呼び出しの場合

List<Foo> invocationArgs = captor.getAllValues();

同じアプローチが、変数の取り込みにも使用されます。

@Captorアノテーションを使用してArgumentCaptorを作成することも可能です:

@Captor
private ArgumentCaptor<Foo> captor;


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow