ใช้ Mockito ทำ Unit Test ง่ายๆ

แน่นอนว่าการทำยูนิตเทสต์ (Unit Test) ด้วยจาวา (Java) ต้องใช้เจยูนิต (JUnit) แต่ในการทำทีดีดี (TDD: Test-Driven Development) การเทสต์ให้ครอบคลุมซอร์สโค้ดทั้งหมดนั้นสำคัญ ซึ่งเป็นเรื่องยากในภาษาอื่นๆ อย่างเช่นซีพลัสๆ (C++) แต่ในโลกของจาวานั้น มีม็อคคิโต (Mockito) ที่ทำงานร่วมกับเจยูนิตได้ง่าย

พื้นฐานม็อคคิโตอย่างง่ายๆ

  1. ใช้ @Mock เพื่อจำลองพฤติกรรมของวัตถุนั้นทั้งกระบวนการ ด้วยคำสั่ง when()
  2. ใช้ @Spy เพื่อให้วัตถุนั้นทำงานจริงแต่เปลี่ยนพฤติกรรมบางเม็ทเถิด (method) ได้
  3. ใช้ @Captor เพื่อเก็บข้อมูลจากการประมวลผลเอาไปเปรียบเทียบกับค่าที่เราต้องการได้
  4. ใช้ verify() เพื่อพิสูจน์ว่ามีการเรียกใช้เม็ทเถิดนั้นๆหรือไม่
  5. ถ้าจะใช้แอนโนเทชั่น (Annotation) เหล่านี้ จะต้องแอนโนเถต (Annotate) เจยูนิตคลาสด้วย @RunWith(MockitoJUnitRunner.class)

มาทำ ทีดีดี ที่ครอบคลุมซอร์สโค้ด 100% กันเถอะ

สแลช (SLASH)