Testowanie Spring Boot
Testowanie Spring Boot: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, test slice
1Której adnotacji użyć, aby załadować pełny kontekst Spring Boot w teście integracyjnym?
Której adnotacji użyć, aby załadować pełny kontekst Spring Boot w teście integracyjnym?
Odpowiedź
@SpringBootTest ładuje pełny kontekst aplikacji, w tym wszystkie beany i autokonfiguracje. Ta adnotacja jest używana w testach integracyjnych wymagających całej aplikacji. @WebMvcTest i @DataJpaTest ładują tylko część kontekstu (test slicing), natomiast @ContextConfiguration to adnotacja niższego poziomu do ręcznego konfigurowania kontekstu (bardziej złożona).
2Czym jest test slicing w Spring Boot?
Czym jest test slicing w Spring Boot?
Odpowiedź
Test slicing polega na ładowaniu tylko określonej części kontekstu Spring, aby przyspieszyć testy. Na przykład @WebMvcTest ładuje tylko komponenty webowe (kontrolery, filtry), natomiast @DataJpaTest ładuje tylko repozytoria JPA. Zmniejsza to czas uruchamiania i poprawia wydajność testów, unikając ładowania zbędnych beanów.
3Której adnotacji użyć, aby przetestować tylko kontroler Spring MVC?
Której adnotacji użyć, aby przetestować tylko kontroler Spring MVC?
Odpowiedź
@WebMvcTest jest zaprojektowany specjalnie do testowania kontrolerów Spring MVC. Ta adnotacja ładuje tylko komponenty webowe (kontrolery, @ControllerAdvice, filtry, interceptory) i automatycznie konfiguruje MockMvc. @SpringBootTest załadowałby cały kontekst (zbędne przy testowaniu pojedynczego kontrolera), @DataJpaTest służy do repozytoriów, a @RestClientTest do testowania klientów HTTP (RestTemplate, WebClient).
Do czego służy adnotacja @MockBean w Spring Boot Test?
Którego obiektu użyć do symulowania żądań HTTP w teście z @WebMvcTest?
+27 pytań z rozmów
Inne tematy rekrutacyjne Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logowanie z SLF4J i Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Obsługa wyjątków
Bean Validation
Podstawy Spring Data JPA
Encje JPA i relacje
Zapytania JPA
Spring Data Repositories
Podstawy Spring Security
Spring Boot Actuator
Testy jednostkowe z JUnit i Mockito
Profiles i Environment
RestTemplate i WebClient
Async i Scheduling
Caching ze Spring
Spring WebFlux (Reactive)
Transakcje Spring
Zaawansowane uwierzytelnianie i autoryzacja
JWT i bezpieczeństwo stateless
OAuth2 i Authorization Server
Spring Boot i Docker
Microservices ze Spring
Spring Cloud Config
Optymalizacja wydajności
GraalVM Native Images
Opanuj Spring Boot na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo