Test Doubles ในโลก Unit Testing มีอะไรบ้าง?
เยอะจุงเบย
Object ที่ถูกสร้างขึ้นมาเพื่อใช้ในการทดสอบระบบ ถูกเรียกว่า Test Doubles ประกอบด้วยชื่อต่างๆมากมาย เริ่มตั้งแต่
Mock — (Behavior)
Object ภายใต้สโคปของการเทส ถูกสร้างขึ้นมาแทนเพื่อใช้ ตรวจสอบพฤติกรรมว่าตรงตามความต้องการหรือไม่

Stub — (State)
กำหนดสถานะของ Class หรือ Method ที่ทำการทดสอบ เช่น กำหนดค่าออพเจคที่ทำการทดสอบ
บางครั้งเรียก Dummy Object, Fake Object, Fake Data, Dummy Class
Fake
บางสถานการณ์มี dependency ที่ไม่ต้องการเทสโดยตรงเช่น in-memory database, http, mail server
เราอาจจำลอง พวก nockHTTP, FakeSMTP Server มาแทน แล้วทำงานคู่กับ Stub และ Mock ว่าเราได้
- state ที่ตรงตามความต้องการ
- และ behavior ที่ถูกต้อง
จริงๆแล้วยังมีอีก Spy