มีอะไรใหม่ใน Pest V2 บ้าง
ปกติแล้วผมจะใช้ PHPUnit สำหรับทำ Unit Testing และ Feature Testing ใน Laravel เป็นหลัก วันนี้มีโอกาสจะขึ้น Project Laravel ใหม่ เลยจะลองนำ Pest มาใช้งานแทน PHPUnit ดูบ้าง
เห็น Clip นี้ นาย Nuno Maduro ซึ่งเป็นผู้เขียน Pest ได้มาอธิบายว่าใน Pest V2 นั้นมีฟีเจอร์อะไรน่าสนใจบ้าง เลยลองเอามาแปะสรุปไว้ในบทความนี้ครับ
เขียน Test ด้วย Pest
เบื้องต้นแล้ว Code Test จะสั้นกว่า PHPUnit มาก ๆ เลยครับ เนื่องจาก ตัดเรื่องการ ประกาศ class ประกาศ method พวกนี้ออกไปเยอะ เหลือแต่ function เพียว ๆ ที่เราต้องการเขียน Test เลย
นอกจากนี้ผลลัพธ์ ที่แสดงใน Terminal ยังดู Clean กว่าเดิมมาก ๆ เมื่อเทียบกับ PHP Unit ครับ
Architecture Testing
- ตรวจว่าห้ามมี dd, dump ใน code ของเราได้เลย
Strees Test
ทดสอบปริมาณการรับ Load ภายใต้ web ของเรา (หรือเวปใครก็ได้ 😎) โดยเราสามารถระบุ config ที่จะ run ได้ประมาณนี้ครับ
- url เวปที่ต้องการ test - อาจไม่ใช่เวป Laravel ที่เรา run เองก็ได้
- ระยะเวลาในการ run test ปกติ default จะอยู่ที่ 5 วินาที
- จำนวน Concurrent User โดย default 1 user
เมื่อ Run Test เรียบร้อยแล้วจะให้ผลลัพธ์ ดังนี้
- Success Rate จำนวน Request ที่ run สำเร็จ
- จำนวน Request ที่ Server รองรับได้ภายในระยะเวลาที่กำหนด
จากตัวอย่างที่นาย Nuno ได้โชวน์ใน Clip ได้มีการลอง Stress Test Laravel App ที่ run บน Laravel Octane อีกด้วย โดยความเร็วที่ได้นัน้น น่าสนใจมากจริง ๆ ครับ
สำหรับเรื่อง Stress Test นี้ยังได้มีอีก Clip ที่นาย Nuno ได้อธิบายการทำงานของ Stress Test โดยเแพาะแบบระเอียดมากขึ้น ตาม clip นี้เลยครับ
อ้างอิง
นอกจากสองเรื่องนี้แล้ว Pest ยังมีความสามารถอื่น ๆ ที่น่าสนใจอีกมาก สามารถศึกษารายละเอียดเพิ่มเติมเกี่ยวกับ Pest ได้ที่ Documentation เลยครับ https://pestphp.com/docs/