การทำ unit test ในส่วนของ service ของ angularjs

ตอนใช้ angularjs ครั้งแรกพยายามทำ tdd

ในการเทส controller ก็พอเข้าใจได้ง่ายในการ แต่พอเจอสิ่งที่เป็น service งงตึ้บเลยจ้า ไม่รู้จะเทสมันยังไง

แต่สุดท้ายก็ต้องออกท่าประมาณนี้….

การเทสเราก็ใช้ inject ของ jasmine – angularjs ให้มัน inject $injector ให้เราด้วย แล้วก็สูบ service ที่เราต้องการโดยใช้ $injector.get ได้เลย อย่างตัวอย่างเช่น

 

ซึ่งถ้าจะ จับ service ยัดเอง ต้องทำผ่าน $provide

​ซึ่งเมื่อก่อนผม mock มือด้วยท่าประมาณนี้

Read More

ทำ unit test ใน javascript แบบ [กากๆ, เบาๆ]

ทำ unit test ใน javascript แบบ [กากๆ, เบาๆ]

การทำ unit test ใน javascript แบบ [กากๆ, เบาๆ]

ใช้ nodejs require ‘assert’ เข้ามาแล้วจัดตามตัวอย่างข้างล่างได้เลย

แต่ถ้าอยากใช้แบบ advance กว่านี้ก็ลอง

Read More

มาทำโปรเจ็ค JavaScript แบบใช้ TDD กันไหมครับ .. แบบหัดๆ

มาทำโปรเจ็ค JavaScript แบบใช้ TDD กันไหมครับ .. แบบหัดๆ

พอดีผมไปหา code เก่า… แล้วเจอ code ที่เขียนแบบนี้

var graph_url = '/' + pageId + '/members/' + uid;

ปวดตับมาก code แม่งดูโคตรยากเลย ต่อ string กันกระจาย…

ก็เลยคิดว่าถ้าเราเขียนฟังก์ชั่นทำ string template แบบนี้

str_parse("/${0}/members/${1}", [pageId, uid]); ก็คงจะดีไม่น้อย ได้ใช้บ่อยแน่นอน (ลอกมาจาก facebook api ของ facebook ในส่วนของ FQL)

แล้วก็จะเขียนด้วย TDD/BDD เพราะว่าจะได้ฝึกหัดการเขียนโปรแกรมแบบ TDD ไปในตัว
และสร้างความสนิทสนมกับ Jasmine ด้วย [Jasmine เป็น behavior-driven framework]

เข้าเรื่องกันเลยดีกว่า…

Read More