การพัฒนาระบบงานด้วยภาษา JavaScript นั้น
มีทางเลือกมากมาย ซึ่งยากต่อผู็เริ่มต้นมาก
การทดสอบก็เช่นกัน มีมากมายสุด ๆ
แต่ถ้ามองในมุมกลับกัน แสดงว่า
มีความพยายามในการทดสอบระบบที่พัฒนาด้วยภาษา JavaScript
ทั้ง Unit testing, Integration testing และ Functional testing
ดังนั้นเรามาดูกันหน่อยว่ามีอะไรกันบ้าง
มี library จำนวนมากเพียงใด
มาเริ่มกันเลย
1. สำหรับการกำหนดโครงสร้าง และ environment ของการทดสอบ
ประกอบไปด้วย
2. สำหรับการตรวจสอบการทำงาน หรือ Assertion
ประกอบไปด้วย
- Chai
- UnexpectedJs
- Expect
- โดยที่ Jasmine และ Jest ก็มีเช่นกัน
3. สำหรับการแสดงผลและดูผลการทดสอบ
ประกอบไปด้วย Jasmine, Mocha, Jest และ Karma
4. สิ่งที่ขาดไม่ได้ในการทดสอบคือ Test double เช่น Mock, Stub และ Spy
เพื่อจำลองระบบหรือ dependency ต่าง ๆ ในระบบ
ประกอบไปด้วย
- Enzyme
- Testdouble
- Sinon
- โดยที่ Jasmine และ Jest ก็มีเช่นกัน
5. ว่าด้วยเรื่องของ Code coverage หรือดูว่า test ที่สร้างขึ้นมาครอบคลุม code จำนวนเท่าไร ?
ประกอบไปด้วย
- Istanbul
- Jest
6. สำหรับการทดสอบผ่าน Browser หรือ environemt ที่เหมือน Browser
ช่วยทำให้การทดสอบระบบงานผ่าน browser ง่ายและเร็วขึ้น
ประกอบไปด้วย
คำถามที่น่าสนใจต่อมาคือ ใช้อะไรบ้าง ?