Tests Spring Boot
Tests Spring Boot : @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, slices de test
1Quelle annotation utiliser pour charger le contexte complet de Spring Boot lors d'un test d'intégration ?
Quelle annotation utiliser pour charger le contexte complet de Spring Boot lors d'un test d'intégration ?
Réponse
@SpringBootTest charge le contexte complet de l'application, incluant tous les beans et auto-configurations. Cette annotation est utilisée pour les tests d'intégration qui nécessitent l'ensemble de l'application. @WebMvcTest et @DataJpaTest chargent uniquement une partie du contexte (test slicing), tandis que @ContextConfiguration est une annotation plus bas niveau pour configurer manuellement le contexte (plus complexe).
2Qu'est-ce que le test slicing dans Spring Boot ?
Qu'est-ce que le test slicing dans Spring Boot ?
Réponse
Le test slicing consiste à charger uniquement une partie spécifique du contexte Spring pour accélérer les tests. Par exemple, @WebMvcTest charge uniquement les composants web (controllers, filters), tandis que @DataJpaTest charge uniquement les repositories JPA. Cela réduit le temps de démarrage et améliore les performances des tests en évitant de charger des beans inutiles.
3Quelle annotation utiliser pour tester uniquement un controller Spring MVC ?
Quelle annotation utiliser pour tester uniquement un controller Spring MVC ?
Réponse
@WebMvcTest est conçu spécifiquement pour tester les controllers Spring MVC. Cette annotation charge uniquement les composants web (controllers, @ControllerAdvice, filters, interceptors) et configure automatiquement MockMvc. @SpringBootTest chargerait tout le contexte (inutile pour tester un seul controller), @DataJpaTest est pour les repositories, et @RestClientTest est pour tester les clients HTTP (RestTemplate, WebClient).
À quoi sert l'annotation @MockBean dans Spring Boot Test ?
Quel objet utiliser pour simuler des requêtes HTTP dans un test avec @WebMvcTest ?
+27 questions d'entretien
Autres sujets d'entretien Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging avec SLF4J et Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestion des exceptions
Validation avec Bean Validation
Spring Data JPA - Les bases
Entités JPA et relations
Requêtes JPA
Spring Data Repositories
Spring Security - Les bases
Spring Boot Actuator
Tests unitaires avec JUnit et Mockito
Profiles et Environment
RestTemplate et WebClient
Async et Scheduling
Caching avec Spring
Spring WebFlux (Reactive)
Transactions Spring
Authentification et autorisation avancées
JWT et sécurité stateless
OAuth2 et Authorization Server
Spring Boot et Docker
Microservices avec Spring
Spring Cloud Config
Optimisation des performances
GraalVM Native Images
Maîtrise Spring Boot pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement