Spring Boot

Kiểm thử Spring Boot

Kiểm thử Spring Boot: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, test slice

30 câu hỏi phỏng vấn·
Mid-Level
1

Annotation nào được dùng để tải toàn bộ context của Spring Boot cho một integration test?

Câu trả lời

@SpringBootTest tải toàn bộ context của ứng dụng, bao gồm tất cả bean và auto-configuration. Annotation này được dùng cho các integration test cần toàn bộ ứng dụng. @WebMvcTest và @DataJpaTest chỉ tải một phần context (test slicing), trong khi @ContextConfiguration là annotation cấp thấp hơn để cấu hình context thủ công (phức tạp hơn).

2

Test slicing trong Spring Boot là gì?

Câu trả lời

Test slicing nghĩa là chỉ tải một phần cụ thể của Spring context để tăng tốc các test. Ví dụ, @WebMvcTest chỉ tải các web component (controller, filter), trong khi @DataJpaTest chỉ tải các JPA repository. Điều này giảm thời gian khởi động và cải thiện hiệu năng test bằng cách tránh tải các bean không cần thiết.

3

Annotation nào được dùng để chỉ kiểm thử một controller Spring MVC?

Câu trả lời

@WebMvcTest được thiết kế đặc biệt để kiểm thử các controller Spring MVC. Annotation này chỉ tải các web component (controller, @ControllerAdvice, filter, interceptor) và tự động cấu hình MockMvc. @SpringBootTest sẽ tải toàn bộ context (không cần thiết khi kiểm thử một controller đơn lẻ), @DataJpaTest dành cho repository, và @RestClientTest dùng để kiểm thử các HTTP client (RestTemplate, WebClient).

4

Annotation @MockBean trong Spring Boot Test dùng để làm gì?

5

Đối tượng nào được dùng để mô phỏng các request HTTP trong một test với @WebMvcTest?

+27 câu hỏi phỏng vấn

Các chủ đề phỏng vấn Spring Boot khác

Nắm vững Spring Boot cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí