Spring Boot Testing
Spring Boot Testing: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, Test-Slices
1Welche Annotation wird verwendet, um den vollständigen Spring-Boot-Kontext für einen Integrationstest zu laden?
Welche Annotation wird verwendet, um den vollständigen Spring-Boot-Kontext für einen Integrationstest zu laden?
Antwort
@SpringBootTest lädt den vollständigen Anwendungskontext, einschließlich aller Beans und Auto-Konfigurationen. Diese Annotation wird für Integrationstests verwendet, die die gesamte Anwendung benötigen. @WebMvcTest und @DataJpaTest laden nur einen Teil des Kontexts (Test Slicing), während @ContextConfiguration eine Low-Level-Annotation ist, um den Kontext manuell zu konfigurieren (komplexer).
2Was ist Test Slicing in Spring Boot?
Was ist Test Slicing in Spring Boot?
Antwort
Test Slicing bedeutet, nur einen bestimmten Teil des Spring-Kontexts zu laden, um Tests zu beschleunigen. Zum Beispiel lädt @WebMvcTest nur Web-Komponenten (Controller, Filter), während @DataJpaTest nur JPA-Repositories lädt. Dies reduziert die Startzeit und verbessert die Testleistung, indem unnötige Beans nicht geladen werden.
3Welche Annotation wird verwendet, um nur einen Spring-MVC-Controller zu testen?
Welche Annotation wird verwendet, um nur einen Spring-MVC-Controller zu testen?
Antwort
@WebMvcTest ist speziell zum Testen von Spring-MVC-Controllern konzipiert. Diese Annotation lädt nur Web-Komponenten (Controller, @ControllerAdvice, Filter, Interceptors) und konfiguriert MockMvc automatisch. @SpringBootTest würde den gesamten Kontext laden (unnötig zum Testen eines einzelnen Controllers), @DataJpaTest ist für Repositories und @RestClientTest dient zum Testen von HTTP-Clients (RestTemplate, WebClient).
Wozu dient die Annotation @MockBean in Spring Boot Test?
Welches Objekt wird verwendet, um HTTP-Anfragen in einem Test mit @WebMvcTest zu simulieren?
+27 Interview-Fragen
Weitere Spring Boot-Interviewthemen
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging mit SLF4J und Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Ausnahmebehandlung
Bean Validation
Spring Data JPA Grundlagen
JPA-Entitäten und Beziehungen
JPA-Abfragen
Spring Data Repositories
Spring Security Grundlagen
Spring Boot Actuator
Unit-Tests mit JUnit & Mockito
Profiles und Environment
RestTemplate und WebClient
Async & Scheduling
Caching mit Spring
Spring WebFlux (Reactive)
Spring-Transaktionen
Erweiterte Authentifizierung und Autorisierung
JWT & Stateless-Sicherheit
OAuth2 & Authorization Server
Spring Boot und Docker
Microservices mit Spring
Spring Cloud Config
Performance-Optimierung
GraalVM Native Images
Meistere Spring Boot für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten