VOOZH about

URL: https://dev.to/eidher/testing-with-mockito-j19

⇱ Testing with Mockito - DEV Community


1) Register MockitoExtension

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

2) Create the mock

 @Mock
 private ObjectRepo mockRepo;

3) Inject the mock

 @InjectMocks
 private ObjectService objectService;

 @Test
 void whenfindByIdThenReturnResult() {
 var objectDAO = new ObjectDAO();
 objectDAO.setId(ID);

4) Define the behavior

 when(mockRepo.findById(any(Long.class))).thenReturn(Optional.of(objectDAO));

5) Test

 var result = ObjectService.findById(ID);

6) Verify

 verify(mockRepo, times(1)).findById(any(Long.class));

7) Validate

 assertAll(
 () -> assertNotNull(result),
 () -> assertEquals(objectDAO.getId(), result.getId())
 );
 }
}