Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาลองใช้งาน Cotton สำหรับทดสอบ RESTful API กัน

$
0
0

วันนี้ได้ลองใช้งาน Cotton เป็นเครื่องมือสำหรับการทดสอบ RESTFul API ได้รับแรงบันดาลใจมากจาก Silk (คนทำน่าจะเลิกทำหรือดูแลไปแล้ว) ดังนั้นทางพี่อูเลยพัฒนา Cotton ขึ้นมา ซึ่งยังคงเขียน test case ในรูปแบบไฟล์ Markdown เช่นเดิม เพิ่มเติมคือความสวยงามและการใช้งานที่ง่ายขึ้น ดังนั้นเรามาลองใช้งานกัน

ขั้นตอนแรกก็ติดตั้งสิ

[code] $go get github.com/chonla/cotton $cotton [/code]

การใช้งานก็เขียน test case ไม่ยาก มันคือไฟล์ Markdown นี่เอง

แต่มีรูปแบบนิดหน่อย ส่วนที่ใช้งานบ่อย ๆ มีดังนี้
  • ในแต่ละไฟล์เรียกว่า test suite
  • ในแต่ละไฟล์จะมีได้มากกว่า 1 test case ซึ่งแต่ละ test case จะขึ้นต้นด้วย #
  • กำหนด URI และ HTTP Method (verb) สำหรับ API หรือ Enpoint ที่ต้องการทดสอบ จะขึ้นต้นด้วย ##
  • ถ้า Request มาการส่งค่าผ่าน HTTP Request Header จะกำหนดในรูปแบบตาราง ซึ่งดูดีกว่า Silk มาก
  • ส่วนข้อมูลที่ต้องการส่งผ่าน body/payload ของ HTTP ให้ใช้  backtick 3 ตัว
  • ในส่วนการตรวจสอบ response จะอยู่ในส่วน ## Expectation
  • การตรวจสอบจะอยู่ในรูปแบบของตารางเช่นกัน ซึ่งใช้งานง่ายดี
  • การเข้าถึงข้อมูลใช้ตัวแปรชื่อ Data ได้เลย

อธิบายมากไปเสียเวลา มาลองใช้งานกันนิดหน่อย

สร้างไฟล์ Markdown ชื่อว่า httpbin.md ทำการทดสอบ RESTful API จาก httpbin.org จากตัวอย่างมีอยู่ 2 test cases คือ GET กับ POST ดังนี้ [gist id="daa98c351be27b7b4a0f0c6b556afabe" file="sample.txt"] จากนั้นก็ run สิ รออะไร [code] $cotton -u http://httpbin.org httpbin.md [/code] ผลที่ได้เป็นดังนี้ [code] Tests executed: 2 Tests passed: 2 (100.00%) Tests failed: 0 (0.00%) [/code] จากการทดสอบใช้งานพบว่า ยังไม่สามารถ parse 2 test cases ในไฟล์เดียวได้ แต่ก็แก้ไขด้วยการแยกไฟล์ละ 1 test case ได้ แต่ก็ได้แจ้ง issue#2 ไปยังผู้พัฒนาแล้ว สิ่งที่ทำให้ผมชอบ Silk และ Cotton คือ ชุดการทดสอบมันคือเอกสารที่มีชีวิต และทำความเข้าใจได้ง่าย ซึ่งมันอยู่ในตัวเดียวกัน และใคร ๆ ก็เขียนได้

Viewing all articles
Browse latest Browse all 1997

Trending Articles