คำถามใน course Full Stack Automation Testing รุ่นที่ 2 ที่ Skooldio
เกี่ยวกับการทดสอบ REST API ที่สร้างด้วย FastAPI
ว่าทำอย่างไร ?
ในการทดสอบ REST API นั้นจะแบ่งออกเป็น 2 แบบหลัก ๆ คือ
- External testing คือ มุมมองคนภายนอก เช่น ใช้ Postman ยิงเข้ามา มองว่าเป็น black box testing ก็ได้
- Internal testing คือ เขียน code test ด้วยภาษาเดียวกับที่ใช้พัฒนา แต่มีการ start server, ส่ง request และ ตรวจสอบ response เหมือนการทำงานจองระบบจริง ๆ
โดยในตัวอย่างนี้ เป็น Internal testing มาเริ่มกันเลย
ขั้นตอนที่ 1 สร้าง REST API แบบง่าย ๆ คือ Hello World นี่แหละ
[gist id="fbae17d97cff8026d822664aae808b3c" file="main.py"]ขั้นตอนที่ 2 ทำการทดสอบด้วย pytest library
เขียน code test แบบง่าย ๆ โดยจะทำการสร้าง server และ client ส่ง request ไปยังระบบ
จากนั้นทำการตรวยจสอบผลลัพธ์ ว่าตรงตามที่ต้องการหรือไม่
ขั้นตอนที่ 3 เมื่อทดสอบแล้ว ก็อยากได้ code coverage report ด้วย pytest-cov library
ด้วยการ run ด้วยนี้
[gist id="fbae17d97cff8026d822664aae808b3c" file="1.txt"]เพียงเท่านี้ก็สามารถทดสอบแบบง่าย ๆ ได้แล้ว
ขอให้สนุกกับการ coding