Xử lý lỗi ngẫu nhiên & Retry
GET · /api/practice/level4/flaky · Nâng cao
Mô tả bài tập
Đây là endpoint mô phỏng một dịch vụ không ổn định: khoảng 40% số lần gọi sẽ trả về 500 Internal Server Error, còn lại trả 200. Bài tập yêu cầu bạn gọi nhiều lần (ít nhất 5 lần) để quan sát cả 2 trường hợp, sau đó (nâng cao hơn) viết logic retry ở phía client khi gặp 500.
Mục tiêu học được
- Hiểu vì sao test tự động cần cơ chế retry cho các lỗi tạm thời (transient errors)
- Phân biệt lỗi do bug thật với lỗi ngẫu nhiên/hạ tầng
💡 Bài này hoàn thành khi bạn đã gọi ít nhất 5 lần và nhận được cả status 200 lẫn 500.
Lệnh curl
for i in 1 2 3 4 5; do
curl -s -o /dev/null -w "%{http_code}\n" "http://testing-api.systemhub.uk/api/practice/level4/flaky" -H "X-Practice-Token: YOUR_TOKEN"
done
Các bước làm trên Postman
- Tạo request GET tới http://testing-api.systemhub.uk/api/practice/level4/flaky
- Dùng Postman Runner chạy request này 10 lần liên tiếp
- Quan sát tỉ lệ request trả về 200 và 500
Đăng nhập để lệnh curl ở trên tự động điền sẵn Practice Token thật của bạn.
🧪 Thử nghiệm trực tiếp
Gọi API ngay tại đây. Nếu bạn đã đăng nhập, tiến độ sẽ được ghi nhận tự động khi gọi đúng như kỳ vọng của bài.
Kết quả
Status: