🧪Testing With Jest
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 Testing คือ
เทสต์เคสที่เขียนต้องไม่ต่อกับ Database จริง
เทสต์เคสที่เขียนต้องไม่เรียกใช้ Service ภายนอก
หัวใจสำคัญของการเขียน Test
Red -> Green -> Refactor

Red = เขียนเพื่อให้ Fail โดยเริ่มจากการเขียน test ก่อน เพื่อพิสูจน์ให้มัน fail ตาม test ที่เราคิดไว้ว่ามันต้อง fail ซึ่งการเขียน test เราไม่จำเป็นที่จะต้องดักในทุกกรณี เพียงแต่เราเขียนให้มันพอเพียง และเพียงพอกับชิ้นงานในแต่ละชิ้นของเราก็พอ
Green = เขียน production code ซึ่งจะต้องทำให้ส่วนที่เราเขียน test ไว้ผ่านทั้งหมด โดยที่เราไม่จำเป็นที่จะต้องเขียน code ให้มันสวยหรูหรือดีเด่อะไรมากมาย ขอแค่ให้ test มันผ่านเท่านั้นก่อน
Refactor = Refactor แก้ไข ให้ดีขึ้น นำเอาโค้ดมาทำการจัดเรียงใหม่ ลดความซ้ำซ้อนลง หรือปรับ performance
หลักการ 3A ในการเขียน test
เป็น pattern ที่ช่วยให้การแบ่งโค้ดของ unit test ออกเป็นสามส่วนหลักให้สามารถเข้าใจได้ง่าย
Last updated