Kiểm thử Spring Boot
Kiểm thử Spring Boot: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, test slice
1Annotation nào được dùng để tải toàn bộ context của Spring Boot cho một integration test?
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).
2Test slicing trong Spring Boot là gì?
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.
3Annotation nào được dùng để chỉ kiểm thử một controller Spring MVC?
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).
Annotation @MockBean trong Spring Boot Test dùng để làm gì?
Đố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
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging với SLF4J và Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Xử lý ngoại lệ
Bean Validation
Kiến thức cơ bản về Spring Data JPA
Thực thể JPA & Quan hệ
Truy vấn JPA
Spring Data Repositories
Cơ bản về Spring Security
Spring Boot Actuator
Kiểm thử đơn vị với JUnit & Mockito
Profiles và Environment
RestTemplate và WebClient
Async và Scheduling
Caching với Spring
Spring WebFlux (Reactive)
Giao dịch Spring
Xác thực và phân quyền nâng cao
JWT & Bảo mật Stateless
OAuth2 & Authorization Server
Spring Boot và Docker
Microservices với Spring
Spring Cloud Config
Tối ưu hóa hiệu năng
GraalVM Native Images
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í