Jest is a delightful JavaScript Testing Framework with a focus on simplicity.
Why Write Test
ทำไมถึงต้องเขียนเทส ? เพราะการ Test ก่อนจะเริ่ม Code เป็นการช่วยลดความเสี่ยงในการผิดพลาดที่จะตามมา และยังเป็นการตอบรับความคาดหวังอีกด้วย
Unit Test คืออะไร
Jest เป็น JavaScript Framework สำหรับเอาไว้เขียน Test ซึ่งมี function ต่างๆ ให้เราใช้ ทำให้ง่ายต่อการเขียน Test มากๆ สามารถเขียนเทสได้ทั้ง React, Vue, Angular หรือ JavaScript ทั่วๆไป
ตามนิยามของ Unit Test คือ วิธีการทดสอบ Software ที่ใช้ทดสอบส่วนที่เล็กที่สุดของ Code เพื่อแสดงให้เห็นว่ามันควรจะทำงานได้อย่างที่ควรจะเป็น
หลักการเขียน Unit Testing คือ
เทสต์เคสที่เขียนต้องไม่ต่อกับ Database จริง
เทสต์เคสที่เขียนต้องไม่เรียกใช้ Service ภายนอก
หัวใจสำคัญของการเขียน Test
Red -> Green -> Refactor
Red = เขียนเพื่อให้ Fail โดยเริ่มจากการเขียน test ก่อน เพื่อพิสูจน์ให้มัน fail ตาม test ที่เราคิดไว้ว่ามันต้อง fail ซึ่งการเขียน test เราไม่จำเป็นที่จะต้องดักในทุกกรณี เพียงแต่เราเขียนให้มันพอเพียง และเพียงพอกับชิ้นงานในแต่ละชิ้นของเราก็พอ
Green = เขียน production code ซึ่งจะต้องทำให้ส่วนที่เราเขียน test ไว้ผ่านทั้งหมด โดยที่เราไม่จำเป็นที่จะต้องเขียน code ให้มันสวยหรูหรือดีเด่อะไรมากมาย ขอแค่ให้ test มันผ่านเท่านั้นก่อน