Estos snippets de código para entrevista acerca de mockito espero te sean de mucha utilidad. Claro que también los puedes usar para tu desarrollo en el día a día.

Mock básico

import static org.mockito.Mockito.*;

List<String> mockedList = mock(List.class); //clase a simular

when(mockedList.get(0)).thenReturn("hello"); //comportamiento simulado

 //llamadas
assertEquals("hello", mockedList.get(0));
mockedList.add("test");

//verificaciones
verify(mockedList).add("test");
verify(mockedList, times(1)).add("test");
verify(mockedList, never()).clear();

Si te llegan a mostrar algo como esto es mejor que sospeches, mockito se usa principalmente para pruebas de integración. Si llegas a ver código como este, lo más probable es que el desarrollador solamente quisiera llegar a su cuota de code coverage.

Mock e inject mocks

@ExtendWith(MockitoExtension.class)
class UserServiceTest {

    @Mock
    private UserRepository userRepository;

    @InjectMocks
    private UserService userService; //lugar donde se usa el mock

    @Test
    void shouldReturnUser() {
        //comportamiento simulado
        when(userRepository.findById(1L))
            .thenReturn(Optional.of(new User(1L, "John")));
    when(userRepository.findById(1L))
    .thenThrow(new RuntimeException("DB error")); //simulación de errores

        User user = userService.getUser(1L); //método que usa la clase a simular

        //verificaciones
        assertEquals("John", user.getName());
        assertThrows(RuntimeException.class, () -> {
            userService.getUser(1L);
        });
    }
}

Esta es la forma más común de usar mockito, simular respuestas y errores. Cuando simulamos una respuesta que siempre es la misma se le llama stub, cuando cambia dependiendo de alguna condición se le conoce como mock.

javatlacati

Compartir
Publicado por
javatlacati

Entradas recientes

Cursos de Código Facilito

Te comparto aquí mis recomendaciones de cursos de Código Facilito. Codigofacilito.com es una plataforma virtual…

3 semanas hace

Cursos de LinkedIn Learning

Te comparto aquí mis recomendaciones de cursos de Linkedin Learning. LinkedIn Learning es una plataforma…

2 meses hace

Expresiones regulares en Java: analizar un String

En este tutorial aprenderá a usar expresiones regulares en Java de manera práctica para contar…

3 meses hace

Preguntas para entrevista de programación Java full-stack

¿Entrevista de programación Java fullstack? No te preocupes, te tengo un compendio de preguntas de…

3 meses hace

SoftSkills: cursos de Udemy

Te recomiendo algunos cursos de Udemy para mejorar tus softskills y así mejorar en tu…

4 meses hace

Precios de suscripción anual plataformas de cursos TI 2025-2026

Aunque hay ofertas que nos parecen buenas, es mejor no apresurarse y conocer todas las…

10 meses hace