# Kiểm thử đơn vị với JUnit & Mockito (Spring Boot) > Kiểm thử đơn vị với JUnit 5, Mockito cho mock, assertion, @Mock, @InjectMocks, test double - 30 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Spring Boot](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van.md) ## 1. JUnit 5 Jupiter là gì? **Câu trả lời** JUnit 5 Jupiter là engine kiểm thử hiện đại thay thế JUnit 4, cung cấp API cải tiến với các annotation được hiện đại hóa và những tính năng mới. Jupiter mang đến các assertion phong phú hơn, hỗ trợ tốt hơn cho kiểm thử tham số hóa và kiến trúc mô-đun cho phép mở rộng framework dễ dàng. Sử dụng Jupiter cho phép tận dụng các tính năng của Java 8+ như lambda trong các assertion. ## 2. Annotation nào đánh dấu một phương thức là test trong JUnit 5? **Câu trả lời** Annotation @Test của JUnit 5 xác định một phương thức là một test case sẽ được runner thực thi. Khác với JUnit 4, nơi @Test chấp nhận các tham số như expected hoặc timeout, JUnit 5 sử dụng các assertion chuyên dụng như assertThrows. Mỗi phương thức @Test nên độc lập và kiểm thử một hành vi cụ thể một cách tách biệt. ## 3. Sự khác biệt giữa @BeforeEach và @BeforeAll là gì? **Câu trả lời** @BeforeEach chạy trước mỗi phương thức test để khởi tạo trạng thái sạch, trong khi @BeforeAll chạy một lần trước tất cả các test trong lớp. @BeforeEach lý tưởng để tạo mock hoặc đối tượng mới cho từng test, đảm bảo tính tách biệt. @BeforeAll yêu cầu một phương thức static và được dùng cho các khởi tạo tốn kém được chia sẻ giữa tất cả các test. ## Còn 27 câu hỏi nữa - Assertion nào kiểm tra sự bằng nhau giữa hai giá trị? - Làm thế nào để xác minh rằng một exception được ném ra trong JUnit 5? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Spring Boot khác - [Spring Core - IoC & DI](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-core-ioc-di.md): 22 câu hỏi, Junior - [Spring Boot Auto-Configuration](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-auto-configuration.md): 20 câu hỏi, Junior - [Spring Boot Starters](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-starters.md): 18 câu hỏi, Junior - [Application Properties & YAML](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/application-properties-yml.md): 16 câu hỏi, Junior - [Logging với SLF4J và Logback](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/logging.md): 20 câu hỏi, Junior - [Spring Boot DevTools](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-devtools.md): 15 câu hỏi, Junior - [Spring MVC Basics](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-mvc-basics.md): 20 câu hỏi, Mid-Level - [Spring REST Controllers](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-rest-controllers.md): 20 câu hỏi, Mid-Level - [Request & Response Handling](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/request-response-handling.md): 20 câu hỏi, Mid-Level - [Xử lý ngoại lệ](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/exception-handling.md): 25 câu hỏi, Mid-Level - [Bean Validation](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/bean-validation.md): 25 câu hỏi, Mid-Level - [Kiến thức cơ bản về Spring Data JPA](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-data-jpa-basics.md): 25 câu hỏi, Mid-Level - [Thực thể JPA & Quan hệ](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/jpa-entities-relationships.md): 30 câu hỏi, Mid-Level - [Truy vấn JPA](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/jpa-queries.md): 30 câu hỏi, Mid-Level - [Spring Data Repositories](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-data-repositories.md): 25 câu hỏi, Mid-Level - [Cơ bản về Spring Security](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-security-basics.md): 25 câu hỏi, Mid-Level - [Spring Boot Actuator](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-actuator.md): 20 câu hỏi, Mid-Level - [Kiểm thử Spring Boot](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-testing.md): 30 câu hỏi, Mid-Level - [Profiles và Environment](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/profiles-environment.md): 20 câu hỏi, Mid-Level - [RestTemplate và WebClient](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/resttemplate-webclient.md): 24 câu hỏi, Mid-Level - [Async và Scheduling](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/async-scheduling.md): 25 câu hỏi, Mid-Level - [Caching với Spring](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/caching.md): 25 câu hỏi, Mid-Level - [Spring WebFlux (Reactive)](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-webflux.md): 25 câu hỏi, Mid-Level - [Giao dịch Spring](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/transactions.md): 30 câu hỏi, Senior - [Xác thực và phân quyền nâng cao](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/authentication-authorization.md): 30 câu hỏi, Senior - [JWT & Bảo mật Stateless](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/jwt-stateless-security.md): 20 câu hỏi, Senior - [OAuth2 & Authorization Server](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/oauth2-authorization-server.md): 20 câu hỏi, Senior - [Spring Boot và Docker](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-docker.md): 19 câu hỏi, Senior - [Microservices với Spring](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/microservices-basics.md): 25 câu hỏi, Senior - [Spring Cloud Config](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-cloud-config.md): 19 câu hỏi, Senior - [Tối ưu hóa hiệu năng](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/performance-optimization.md): 30 câu hỏi, Senior - [GraalVM Native Images](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/graalvm-native-images.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/testing-junit-mockito