Mmaiqai.com
🔍 Automation Testing · Chương 8 · Mục 8.3

Đọc lỗi test khi FAILED

Thử gọi 1 đường dẫn không tồn tại nhưng lại kiểm tra bằng to_be_ok():

def test_goi_endpoint_khong_ton_tai(api_context):
response = api_context.get("/duong-dan-khong-ton-tai")
expect(response).to_be_ok()

Chạy, kết quả FAILED (đã lược bớt phần header chi tiết cho gọn):

KẾT QUẢ
AssertionError: Response status expected to be within [200..299] range, was '404'
Call log:
→ GET https://restful-booker.herokuapp.com/duong-dan-khong-ton-tai
← 404 Not Found

3 phần cần đọc khi 1 test FAILED:

PhầnÝ nghĩa
AssertionError: ...Câu tóm tắt: kỳ vọng gì, thực tế là gì — ở đây kỳ vọng 200-299 nhưng thực tế là 404
Call log: → GET ...Request thật đã gửi — kiểm tra có gọi đúng đường dẫn không
← 404 Not FoundResponse thật nhận về

Chỉ cần đọc dòng AssertionError là đủ hiểu sai ở đâu trong hầu hết trường hợp — phần Call log hữu ích khi cần kiểm tra request có gửi đúng tham số hay không.

⚡ GHI NHỚ NHANH
  • to_be_ok() / not_to_be_ok(): 2 assertion duy nhất của expect(response), kiểm tra chung là thành công hay thất bại.
  • response.status: mã HTTP thật (200, 404...), dùng với assert thường khi cần kiểm tra đúng 1 mã cụ thể.

Chương sau: fixture — vì sao api_context không cần tự tạo lại ở mỗi test, và cách các fixture dùng lại lẫn nhau.