Spring Boot Test
Spring Boot test: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, test slice'ları
1Bir entegrasyon testinde Spring Boot'un tam bağlamını yüklemek için hangi anotasyon kullanılır?
Bir entegrasyon testinde Spring Boot'un tam bağlamını yüklemek için hangi anotasyon kullanılır?
Cevap
@SpringBootTest, tüm bean'ler ve otomatik yapılandırmalar dahil olmak üzere uygulamanın tam bağlamını yükler. Bu anotasyon, uygulamanın tamamını gerektiren entegrasyon testleri için kullanılır. @WebMvcTest ve @DataJpaTest bağlamın yalnızca bir kısmını yükler (test slicing), @ContextConfiguration ise bağlamı manuel olarak yapılandırmak için daha düşük seviyeli bir anotasyondur (daha karmaşık).
2Spring Boot'ta test slicing nedir?
Spring Boot'ta test slicing nedir?
Cevap
Test slicing, testleri hızlandırmak için Spring bağlamının yalnızca belirli bir bölümünü yüklemek anlamına gelir. Örneğin, @WebMvcTest yalnızca web bileşenlerini (controller, filter) yükler, @DataJpaTest ise yalnızca JPA repository'lerini yükler. Bu, gereksiz bean'lerin yüklenmesini önleyerek başlatma süresini azaltır ve test performansını artırır.
3Yalnızca bir Spring MVC controller'ını test etmek için hangi anotasyon kullanılır?
Yalnızca bir Spring MVC controller'ını test etmek için hangi anotasyon kullanılır?
Cevap
@WebMvcTest, Spring MVC controller'larını test etmek için özel olarak tasarlanmıştır. Bu anotasyon yalnızca web bileşenlerini (controller, @ControllerAdvice, filter, interceptor) yükler ve MockMvc'yi otomatik olarak yapılandırır. @SpringBootTest tüm bağlamı yüklerdi (tek bir controller'ı test etmek için gereksiz), @DataJpaTest repository'ler içindir ve @RestClientTest HTTP istemcilerini (RestTemplate, WebClient) test etmek içindir.
Spring Boot Test'te @MockBean anotasyonunun amacı nedir?
@WebMvcTest ile yapılan bir testte HTTP isteklerini simüle etmek için hangi nesne kullanılır?
+27 mülakat soruları
Diğer Spring Boot mülakat konuları
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
SLF4J ve Logback ile Logging
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
İstisna Yönetimi
Bean Validation
Spring Data JPA Temelleri
JPA Varlıkları ve İlişkiler
JPA Sorguları
Spring Data Repositories
Spring Security Temelleri
Spring Boot Actuator
JUnit ve Mockito ile Birim Testleri
Profiles ve Environment
RestTemplate ve WebClient
Async ve Scheduling
Spring ile Caching
Spring WebFlux (Reactive)
Spring İşlemleri
Gelişmiş kimlik doğrulama ve yetkilendirme
JWT ve Stateless Güvenlik
OAuth2 ve Authorization Server
Spring Boot ve Docker
Spring ile Microservices
Spring Cloud Config
Performans Optimizasyonu
GraalVM Native Images
Bir sonraki mülakatın için Spring Boot'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla