การทดสอบหน่วยด้วย JUnit และ Mockito
การทดสอบหน่วยด้วย JUnit 5, Mockito สำหรับ mock, assertion, @Mock, @InjectMocks, test double
1JUnit 5 Jupiter คืออะไร?
JUnit 5 Jupiter คืออะไร?
คำตอบ
JUnit 5 Jupiter คือเอนจินการทดสอบสมัยใหม่ที่มาแทนที่ JUnit 4 โดยมอบ API ที่ได้รับการปรับปรุงพร้อม annotation ที่ทันสมัยและฟีเจอร์ใหม่ ๆ Jupiter นำเสนอ assertion ที่หลากหลายยิ่งขึ้น รองรับการทดสอบแบบมีพารามิเตอร์ได้ดีขึ้น และมีสถาปัตยกรรมแบบโมดูลที่ช่วยให้ขยายเฟรมเวิร์กได้ง่าย การใช้ Jupiter ช่วยให้ใช้ประโยชน์จากฟีเจอร์ของ Java 8+ เช่น lambda ใน assertion ได้
2annotation ใดที่ทำเครื่องหมายเมธอดว่าเป็น test ใน JUnit 5?
annotation ใดที่ทำเครื่องหมายเมธอดว่าเป็น test ใน JUnit 5?
คำตอบ
annotation @Test ของ JUnit 5 ระบุเมธอดว่าเป็น test case ที่จะถูกรันโดย runner ต่างจาก JUnit 4 ที่ @Test รับพารามิเตอร์อย่าง expected หรือ timeout ได้ JUnit 5 ใช้ assertion เฉพาะอย่าง assertThrows แทน แต่ละเมธอด @Test ควรเป็นอิสระและทดสอบพฤติกรรมเฉพาะอย่างแยกต่างหาก
3ความแตกต่างระหว่าง @BeforeEach กับ @BeforeAll คืออะไร?
ความแตกต่างระหว่าง @BeforeEach กับ @BeforeAll คืออะไร?
คำตอบ
@BeforeEach จะทำงานก่อนแต่ละเมธอด test เพื่อกำหนดสถานะที่สะอาด ในขณะที่ @BeforeAll จะทำงานครั้งเดียวก่อน test ทั้งหมดในคลาส @BeforeEach เหมาะสำหรับสร้าง mock หรืออ็อบเจ็กต์ใหม่สำหรับแต่ละ test เพื่อให้แน่ใจว่าแยกออกจากกัน @BeforeAll ต้องใช้เมธอด static และใช้สำหรับการเริ่มต้นที่มีต้นทุนสูงซึ่งใช้ร่วมกันใน test ทั้งหมด
assertion ใดที่ตรวจสอบความเท่ากันระหว่างค่าสองค่า?
จะตรวจสอบว่ามีการโยน exception ใน JUnit 5 ได้อย่างไร?
+27 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Spring Boot อื่นๆ
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
การทำ Logging ด้วย SLF4J และ Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
การจัดการข้อยกเว้น
Bean Validation
พื้นฐาน Spring Data JPA
เอนทิตี JPA และความสัมพันธ์
การสืบค้น JPA
Spring Data Repositories
พื้นฐาน Spring Security
Spring Boot Actuator
การทดสอบ Spring Boot
Profiles และ Environment
RestTemplate และ WebClient
Async และ Scheduling
Caching ด้วย Spring
Spring WebFlux (Reactive)
ทรานแซกชัน Spring
การยืนยันตัวตนและการให้สิทธิ์ขั้นสูง
JWT และความปลอดภัยแบบ Stateless
OAuth2 และ Authorization Server
Spring Boot และ Docker
Microservices ด้วย Spring
Spring Cloud Config
การเพิ่มประสิทธิภาพการทำงาน
GraalVM Native Images
เชี่ยวชาญ Spring Boot สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี