จากการพูดคุยเรื่องการทดสอบ RESTful API ที่ Facebook
มีการพูดถึง Silk ซึ่งเป็น framework สำหรับการทดสอบ RESTful API
ด้วยการเขียนเอกสารในรูปแบบ Markdown
ดังนั้นจึงลองนำมาใช้งานแบบขำ ๆ กันหน่อย
เริ่มต้นด้วยการติดตั้ง Silk
สิ่งที่ต้องติดตั้งก่อนคือภาษา Go จากนั้นทำการกำหนด $GOPATH ให้พร้อม ทำการติดตั้งด้วยคำสั่ง [code] $go get github.com/matryer/silk [/code] จากนั้นก็สามารถใช้งานคำสั่ง silk ได้ ซึ่งอยู่ที่ $GOPATH/binสร้าง RESTful API แบบง่าย ๆ เอาไว้ทดสอบนิดหน่อย
โดยเลือกใช้ stubby4j มาช่วยสร้าง เนื่องจากมันง่าย ๆ มาก สิ่งที่ต้องการคือ API เป็นดังนี้- Request ใช้งานผ่าน HTTP GET
- Response ทำการส่งค่า id และ name ในรูปแบบ JSON
ได้เวลานำ Silk มาใช้ทดสอบ API ที่สร้างกันแล้ว
แนวคิดของ Silk นั้นดูเรียบง่ายมาก ๆ คือ ทำการเขียนเอกสารเพื่ออธิบาย API ในรูปแบบ Markdown ปกติ และได้ทำการกำหนดข้อตกลงการใช้งานสำหรับเรื่องต่าง ๆ ไว้ให้ เช่น- โครงสร้างของเอกสารเป็นอย่างไร
- การกำหนด Request และรูปแบบข้อมูลต่าง ๆ ทั้ง parameter, header, cookie และ body
- การตรวจสอบผลการทำงาน หรือ assert reponse ที่ API ส่งกลับมาเช่น Response code, content type และ data เป็นต้น
เพียงเท่านี้ก็สามารถเขียนเอกสารอธิบาย API ซึ่งทดสอบได้อีกด้วย แสดงว่าเราได้สร้างเอกสารที่มีชีวิตขึ้นมาแล้วนะครับSource code ตัวอย่างอยู่ที่ Github:Hello Silk ปล. ถ้าใครเขียน code ภาษา Go เป็น ก็สามารถเขียน code เพื่อทดสอบผ่าน silk runner ได้อีกด้วย ซึ่งแน่นอนว่าจะมีประโยชน์และยืดหยุ่นกว่าการใช้งาน commad line Reference Websites http://go-talks.appspot.com/github.com/matryer/silk/other/presentation/silk.slide#1