DEV Community

eidher
eidher

Posted on

Testing with Mockito

1) Register MockitoExtension

@ExtendWith(MockitoExtension.class)
class ObjectTest {
    static final Long ID = 1L;
📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung 📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung

2) Create the mock

    @Mock
    private ObjectRepo mockRepo;
📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung 📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung

3) Inject the mock

    @InjectMocks
    private ObjectService objectService;

    @Test
    void whenfindByIdThenReturnResult() {
        var objectDAO = new ObjectDAO();
        objectDAO.setId(ID);
📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung 📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung

4) Define the behavior

        when(mockRepo.findById(any(Long.class))).thenReturn(Optional.of(objectDAO));
📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung 📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung

5) Test

        var result = ObjectService.findById(ID);
📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung 📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung

6) Verify

        verify(mockRepo, times(1)).findById(any(Long.class));
📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung 📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung

7) Validate

        assertAll(
                () -> assertNotNull(result),
                () -> assertEquals(objectDAO.getId(), result.getId())
        );
    }
}
📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung 📺 Info Siaran: eidher/testing with mockito j - Jadwal Siaran Langsung

Top comments (0)