Testing en Spring Boot
Testing en Spring Boot: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, slices de test
1¿Qué anotación usar para cargar el contexto completo de Spring Boot en una prueba de integración?
¿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?
¿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?
¿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).
¿Para qué sirve la anotación @MockBean en Spring Boot Test?
¿Qué objeto usar para simular solicitudes HTTP en una prueba con @WebMvcTest?
+27 preguntas de entrevista
Otros temas de entrevista Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J y Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Manejo de excepciones
Bean Validation
Fundamentos de Spring Data JPA
Entidades JPA y relaciones
Consultas JPA
Spring Data Repositories
Fundamentos de Spring Security
Spring Boot Actuator
Pruebas unitarias con JUnit y Mockito
Profiles y Environment
RestTemplate y WebClient
Async y Scheduling
Caching con Spring
Spring WebFlux (Reactive)
Transacciones de Spring
Autenticación y autorización avanzadas
JWT y seguridad stateless
OAuth2 y Authorization Server
Spring Boot y Docker
Microservices con Spring
Spring Cloud Config
Optimización del rendimiento
GraalVM Native Images
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