Khuôn khổ và máy chủ WSGI của bạn chứa các trình xử lý bắt các ngoại lệ và thực hiện một số hành động (hiển thị một ngăn xếp trong cơ thể, đăng nhập backtrace vào logfile, v.v.). Webtest, theo mặc định, không hiển thị phản hồi thực tế, điều này có thể hữu ích nếu khung của bạn hiển thị một chồng xếp chồng trong cơ thể. Tôi sử dụng phần mở rộng sau cho Webtest khi tôi cần xem xét nội dung phản hồi:
class BetterTestApp(webtest.TestApp):
"""A testapp that prints the body when status does not match."""
def _check_status(self, status, res):
if status is not None and status != res.status_int:
raise webtest.AppError(
"Bad response: %s (not %s)\n%s", res.status, status, res)
super(BetterTestApp, self)._check_status(status, res)
Kiểm soát nhiều hơn những gì xảy ra ngoại lệ tùy thuộc vào khung và máy chủ bạn đang sử dụng. Đối với mô-đun wsgiref
được tích hợp sẵn, bạn có thể ghi đè error_output để đạt được những gì bạn muốn.
Sẽ có 'lỗi' được chuyển hướng đến một số tệp trong cấu hình WSGI. Bạn có thể đăng ký để nhận lỗi trên một số tệp. – Nilesh