Spring Boot

Spring Boot Testing

Spring Boot Testing: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, Test-Slices

30 Interview-Fragen·
Mid-Level
1

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).

2

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.

3

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).

4

Wozu dient die Annotation @MockBean in Spring Boot Test?

5

Welches Objekt wird verwendet, um HTTP-Anfragen in einem Test mit @WebMvcTest zu simulieren?

+27 Interview-Fragen

Meistere Spring Boot für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten