images

หลังจากไปลองเรียน Android/IOS Development กับ Udacity ซะนานกลับมาเขียนบทความเกี่ยวกับการพัฒนา Web Application กันบ้างในตอนนี้ขอเขียนบทความเกี่ยวกับการทำ Unit Testing บน AngularJS โดย Framework ที่ใช้ในการทดสอบก็คือ Justmine และตัว Runner ก็คือ Karma เริ่มกันเลยนะครับ เพื่อไม่ให้เสียเวลาเราเริ่มจากลงส่วนประกอบที่ต้องใช้กันก่อนนะครับ
ปล. ใครที่ยังไม่มี NodeJS ,NPM ให้ไป Download มาลงก่อนลงมือทำนะครับ น่าจะเป็นเครื่องมือสำคัญในการพัฒนาโปรแกรมสมัยนี้ไปล่ะเจ้า NPM, Bower Package manager

1.ขั้นตอนการติดตั้งส่วนประกอบต่างๆ ก่อนการใช้งาน

2.ไฟล์ Configuration โดยผมอธิบายใน Comment นะครับ karma.conf.js ย้ำนะครับชื่อไฟล์ต้องตรงตามนี้

2.จากนั้นก็ลงมือเขียน Test Script กันเลยเอาง่ายๆก่อนแล้วกัน ผมไม่ได้พูดถึงพื้นฐาน AngularJS นะครับดังนั้นผมเข้าใจว่าทุกคนรู้จัก Service และ Controller มาอย่างดีแล้วนะครับ หรือถ้าใครเพิ่งศึกษา AngularJS ให้ลองอ่านข้อมูลบน Internet หรือลองทำ Lab ของ AngularJS ของผมก็ได้นะครับที่ http://angularjs.greanapp.com/#!/ ถ้าคล่องแล้วค่อยกลับมาอ่านเรื่อง Test ก็ยังไม่สายครับ

3. ง่ายสุดล่ะขั้นตอนสุดท้าย มันจะ runfile karma.conf.js ของเราครับ และ browser chrome จะเปิดขึ้นมาซึ่งถ้าคุณต้องการ Debug ให้กดปุ่ม Debug ที่อยู่ขวาบน บนหน้าจอ Chrome แล้วจากนั้นให้คุณเปิด Console Developer Ctrl+Shift+J ก็สามารถเห็น Error และ Warning โดยที่คุณสามารถ console.log ออกมาได้ครับ ซึ่งเหมือนกับการเขียน Javascript ทั่วๆ ไป ลองรันคำสั่งด้านล่างนี้เลยนะครับ

สรุป การใข้งาน karma ค่อนข้างง่ายครับ จุดที่ยากน่าจะอยู่ที่การ mock Service ต่างๆ ที่เราเขียนมาใช้งาน ยิ่งถ้าเรามีการใช้งานพวก Dependensy Injection (DI) เยอะๆ และถ้าเราใช้มีการงาน Globalvariable การควบคุมการทดสอบยิ่งยากเข้าไปใหญ่ ดังนั้นถ้าหลีกเลี่ยงได้ก็ดีกว่าครับพวก Global Variable น่าจะลดเวลาในการเขียน Test ลงไปได้พอสมควรว่างๆ จะกลับมาเขียน Series นี้ต่อนะครับ แล้วเจอกันใหม่

Written by adminwp