test คือโค้ดที่คอยตรวจว่าระบบยังทำงานถูกทุกครั้งที่มีการแก้ ก่อนที่การแก้นั้นจะถึงมือผู้ใช้ แท็กนี้รวมวิธีเขียน test ในโปรเจกต์ Laravel ตั้งแต่เครื่องมือที่ใช้ ไปจนถึงการทดสอบส่วนที่ถ้าพลาดแล้วเสียหายจริง อย่างอีเมลที่ส่งถึงลูกค้าและระบบรับชำระเงิน เหมาะกับนักพัฒนาที่เริ่มเขียน test และเจ้าของระบบที่อยากรู้ว่าควรทดสอบอะไรก่อนขึ้นระบบจริง
ลองเริ่มที่ Pest คืออะไร ซึ่งเป็นเครื่องมือเขียน test ที่เราใช้ แล้วต่อด้วยการเปิด fake ไว้ทุก test ที่กันไม่ให้ test ส่งอีเมล ยิง API หรือเข้าคิวจริงโดยไม่ตั้งใจ จากนั้นดูการทดสอบอีเมล ตั้งแต่ตอนพัฒนาจนขึ้น production และการทดสอบระบบรับชำระเงินโดยไม่ตัดเงินใครจริง ที่แบ่งการทดสอบเป็นสามชั้น ส่วนฐานข้อมูลสำหรับ test จาก snapshot อธิบายว่าเราเลิกใช้ RefreshDatabase แล้วเตรียมฐานข้อมูลแบบไหนแทน
พอ test เยอะขึ้น TIA ใน Pest 5 รันเฉพาะ test ที่โค้ดที่แก้ไปถึง และการรวม test ที่ต่างกันแค่ input ทำให้ชุด test เร็วและอ่านง่ายขึ้น ฝั่งหน้าเว็บมี Vitest สำหรับ component React ที่จับหน้าขาวซึ่ง test ฝั่ง PHP มองไม่เห็น ส่วนของใหม่ในแต่ละรุ่นอยู่ใน Pest 5 และ Pest 2
เริ่มที่นี่
- 1Pest คืออะไร และเขียน test ต่างจาก PHPUnit ตรงไหนบ้างในโปรเจกต์ Laravelอ่าน 5 นาที
- 2กัน test ใน Laravel ไม่ให้ส่งอีเมล ยิง API หรือเข้าคิวจริง ด้วย fake ที่เปิดไว้ทุก testอ่าน 4 นาที
- 3ทดสอบอีเมลใน Laravel ใช้เครื่องมืออะไรได้บ้าง ตั้งแต่ตอนพัฒนาจนขึ้น productionอ่าน 8 นาที
- 4ทดสอบระบบรับชำระเงินใน Laravel โดยไม่ตัดเงินใครจริงอ่าน 5 นาที
- 5จัดฐานข้อมูลสำหรับ test ใน Laravel ด้วย snapshot ที่ commit ไว้ และ DatabaseTransactions แทน RefreshDatabaseอ่าน 4 นาที











