mockito でモックしたいメソッド呼び出しがあります。まず、メソッドが呼び出されるオブジェクトのインスタンスを作成し、挿入しました。私の目的は、メソッド呼び出しでオブジェクトの 1 つを検証することです。
mockito を使用して、モック メソッドが呼び出されたときにオブジェクトとその属性をアサートまたは検証する方法はありますか?
例
Mockito.verify(mockedObject)
.someMethodOnMockedObject(
Mockito.<SomeObjectAsArgument>anyObject())
代わりに、anyObject()
引数オブジェクトに特定のフィールドが含まれているかどうかを確認したい
Mockito.verify(mockedObject)
.someMethodOnMockedObject(
Mockito.<SomeObjectAsArgument>**compareWithThisObject()**)
ベストアンサー1
Mockitoに追加された新機能により、これがさらに簡単になりました。
ArgumentCaptor<Person> argument = ArgumentCaptor.forClass(Person.class);
verify(mock).doSomething(argument.capture());
assertEquals("John", argument.getValue().getName());
Mockitoを見てみましょうドキュメンテーション
複数のパラメータがあり、単一のパラメータのみをキャプチャする必要がある場合は、他の ArgumentMatchers を使用して残りの引数をラップします。
verify(mock).doSomething(eq(someValue), eq(someOtherValue), argument.capture());
assertEquals("John", argument.getValue().getName());