Mockito is a popular Java testing library used for unit testing. It allows developers to create mock objects and define their behaviors. Mock objects simulate the behavior of real services by returning dummy data for given inputs.
Mockito helps you test your code without needing the actual implementation of its dependencies. This makes unit testing faster and simpler. Mockito uses Java Reflection to create mock objects for a given interface, acting as proxies for actual implementations.
Benefits of Mockito
- No Handwriting: No need to manually write mock objects.
- Refactoring Safe: Tests remain stable even if you rename interface methods or reorder parameters, as mocks are created at runtime.
- Return Value Support: Easily specify return values for mock methods.
- Exception Support: Allows you to simulate exceptions in mock methods.
- Order Check Support: Verify the order in which methods are called.
- Annotation Support: Create mocks using annotations for cleaner and more readable test code.
This tutorial is for Java developers of all levels who want to improve the quality of their software through unit testing and test-driven development.
Mockito Tutorial
- Introduction to Mockito
- Setting Up Mockito in Your Project
- Mockito Basic Concepts
- Creating Mocks with Mockito
- Creating Spies with Mockito
- Mockito Stubbing Methods
- Mockito Stubbing Void Methods
- Mockito Stubbing with Specific Arguments
- Mockito Stubbing with Argument Matchers
- Mockito Stubbing with Callbacks
- Mockito Stubbing Consecutive Calls
- Mockito Stubbing with Exceptions
- Mockito Verifying Behavior
- Mockito Verifying Interactions
- Mockito Verifying Call Order
- Mockito Verifying No Interactions
- Mockito Verifying Invocation Count
- Mockito Verifying Timeouts
- Mockito Argument Matchers
- Mockito Argument Captors
- Mockito Mocking Static Methods
- Mockito Mocking Final Classes and Methods
- Mockito Mocking Constructors
- Mockito BDD Style Mocking
- Mockito Injecting Mocks
Mockito Annotations
- Mockito @Mock Annotation
- Mockito @Spy Annotation
- Mockito @InjectMocks Annotation
- Mockito @Captor Annotation
- Mockito @MockBean Annotation
- Mockito @SpyBean Annotation
- Mockito @ExtendWith(MockitoExtension.class)
Mockito APIs/Methods
- Mockito mock Method
- Mockito spy Method
- Mockito when Method
- Mockito doReturn Method
- Mockito verify Method
- Mockito doThrow Method
- Mockito doNothing Method
- Mockito doAnswer Method
- Mockito doCallRealMethod Method
- Mockito verifyNoInteractions Method
- Mockito verifyNoMoreInteractions Method
- Mockito inOrder Method
- Mockito ignoreStubs Method
- Mockito atLeast method
- Mockito atLeastOnce method
- Mockito atMost method
- Mockito atMostOnce method
- Mockito calls method
- Mockito description method
- Mockito times method
- Mockito never method
- Mockito only method
- Mockito mockConstruction Method
- Mockito mockingDetails Method
- Mockito mockStatic Method
- Mockito timeout Verification Mode
- Mockito getMock Method
- Mockito then Method
- Mockito thenAnswer Method
- Mockito thenCallRealMethod Method
- Mockito thenReturn Method
- Mockito thenThrow Method
Mockito Argument Matchers
- Mockito any Method
- Mockito anyBoolean Method
- Mockito anyChar Method
- Mockito anyCollection Method
- Mockito anyInt Method
- Mockito anyList Method
- Mockito anyMap Method
- Mockito anyString Method
- Mockito endsWith Method
- Mockito eq Method
- Mockito isNotNull Method
- Mockito isNull Method
- Mockito notNull Method
- Mockito same Method
Mockito BDDMockito Methods
- Mockito BDDMockito given Method
- Mockito BDDMockito willReturn Method
- Mockito BDDMockito willThrow Method
- Mockito BDDMockito.willAnswer Method
- Mockito BDDMockito then Method
- Mockito BDDMockito thenReturn Method
- Mockito BDDMockito thenDoNothing Method
- Mockito BDDMockito thenDoThrow Method
- Mockito BDDMockito thenAnswer Method
- Mockito BDDMockito any Method
- Mockito BDDMockito eq Method
- Mockito BDDMockito anyString Method
- Mockito BDDMockito anyInt Method
- Mockito BDDMockito mock Method
- Mockito BDDMockito spy Method
- Mockito BDDMockito times Method
- Mockito BDDMockito verify Method