Spring Boot

Spring Boot Test

Spring Boot test: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, test slice'ları

30 mülakat soruları·
Mid-Level
1

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

2

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.

3

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.

4

Spring Boot Test'te @MockBean anotasyonunun amacı nedir?

5

@WebMvcTest ile yapılan bir testte HTTP isteklerini simüle etmek için hangi nesne kullanılır?

+27 mülakat soruları

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