DEV Community

eidher
eidher

Posted on

Testing with Mockito

1) Register MockitoExtension

@ExtendWith(MockitoExtension.class) class ObjectTest { static final Long ID = 1L; 
Enter fullscreen mode Exit fullscreen mode

2) Create the mock

 @Mock private ObjectRepo mockRepo; 
Enter fullscreen mode Exit fullscreen mode

3) Inject the mock

 @InjectMocks private ObjectService objectService; @Test void whenfindByIdThenReturnResult() { var objectDAO = new ObjectDAO(); objectDAO.setId(ID); 
Enter fullscreen mode Exit fullscreen mode

4) Define the behavior

 when(mockRepo.findById(any(Long.class))).thenReturn(Optional.of(objectDAO)); 
Enter fullscreen mode Exit fullscreen mode

5) Test

 var result = ObjectService.findById(ID); 
Enter fullscreen mode Exit fullscreen mode

6) Verify

 verify(mockRepo, times(1)).findById(any(Long.class)); 
Enter fullscreen mode Exit fullscreen mode

7) Validate

 assertAll( () -> assertNotNull(result), () -> assertEquals(objectDAO.getId(), result.getId()) ); } } 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)