Reputation: 62519
Let's say i have the following psuedo like test code:
//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();
I keep showing the test passed but i dont know what the verify means ? what is it verifying exactly ? I understand that i mocked a call to add and clear but what does the two verify calls do ?
Upvotes: 41
Views: 18923
Reputation: 2145
Mockito.verify(MockedObject).someMethodOnTheObject(someParametersToTheMethod);
verifies that the methods you called on your mocked object are indeed called only once. If they weren't called, or called with the wrong parameters, or called the wrong number of times, they would fail your test.
Upvotes: 44
Reputation: 36580
The verify() method in Mockito is used to check if a method of an object was called. It is used to make sure that the method was called with certain parameters, the number of times it was called, etc.
// Example:
// Create a mock object of a class
MyClass mockClass = Mockito.mock(MyClass.class);
// Call a method on the mock object
mockClass.doSomething();
// Verify that the doSomething() method was called
Mockito.verify(mockClass).doSomething();
Upvotes: 0
Reputation: 54781
It asserts that the method was called, and with those arguments.
Comment out:
//mockedList.add("one");
Or change its argument and the test will fail.
Upvotes: 11