Spring Boot

Testing en Spring Boot

Testing en Spring Boot: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, slices de test

30 preguntas de entrevista·
Mid-Level
1

¿Qué anotación usar para cargar el contexto completo de Spring Boot en una prueba de integración?

Respuesta

@SpringBootTest carga el contexto completo de la aplicación, incluyendo todos los beans y las autoconfiguraciones. Esta anotación se usa para pruebas de integración que requieren toda la aplicación. @WebMvcTest y @DataJpaTest solo cargan parte del contexto (test slicing), mientras que @ContextConfiguration es una anotación de más bajo nivel para configurar el contexto manualmente (más compleja).

2

¿Qué es el test slicing en Spring Boot?

Respuesta

El test slicing consiste en cargar solo una parte específica del contexto Spring para acelerar las pruebas. Por ejemplo, @WebMvcTest carga solo los componentes web (controllers, filters), mientras que @DataJpaTest carga solo los repositories JPA. Esto reduce el tiempo de arranque y mejora el rendimiento de las pruebas al evitar cargar beans innecesarios.

3

¿Qué anotación usar para probar únicamente un controller de Spring MVC?

Respuesta

@WebMvcTest está diseñado específicamente para probar controllers de Spring MVC. Esta anotación carga solo los componentes web (controllers, @ControllerAdvice, filters, interceptors) y configura MockMvc automáticamente. @SpringBootTest cargaría todo el contexto (innecesario para probar un solo controller), @DataJpaTest es para los repositories y @RestClientTest es para probar clientes HTTP (RestTemplate, WebClient).

4

¿Para qué sirve la anotación @MockBean en Spring Boot Test?

5

¿Qué objeto usar para simular solicitudes HTTP en una prueba con @WebMvcTest?

+27 preguntas de entrevista

Domina Spring Boot para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis