テストコードのような次の疑似コードがあるとしましょう:
//Let's import Mockito statically so that the code looks clearer
import static org.mockito.Mockito.*;
//mock creation
List mockedList = mock(List.class);
//using mock object
mockedList.add("one");
mockedList.clear();
//what do these two verify methods do ?
verify(mockedList).add("one");
verify(mockedList).clear();
合格したテストを表示し続けますが、検証の意味がわかりません。正確に何を確認していますか?追加とクリアの呼び出しをあざけると理解しましたが、2つの検証呼び出しは何をしますか?
Mockito.verify(MockedObject).someMethodOnTheObject(someParametersToTheMethod);
は、モックされたオブジェクトに対して呼び出したメソッドが実際に呼び出されていることを確認します。それらが呼び出されなかったり、間違ったパラメーターで呼び出されたり、間違った回数呼び出されたりすると、テストに失敗します。
これは、メソッドが呼び出され、それらの引数が指定されていることを示しています。
コメントアウト:
//mockedList.add("one");
または、引数を変更すると、テストは失敗します。