Tôi đang cố viết một bài kiểm tra đơn vị để đảm bảo HTTPException được nâng lên khi cần thiết. Đây là thử nghiệm:assertRises failure
import unittest
from requests import HTTPError
import pyport
# Code omitted...
def test_bad_item_type(self):
"""A bad item type should raise a HTTPError"""
test_type = 'bad'
test_id = 1986134
self.assertRaises(HTTPError, pyport.get_item(test_type, test_id))
nào sản xuất như sau:
ERROR: test_bad_item_type (__main__.TestPyportFunctions) A bad item
type should raise requests.HTTPError
----------------------------------------------------------------------
Traceback (most recent call last): File "./tests.py", line 65, in
test_bad_item_type
self.assertRaises(HTTPError, pyport.get_item(test_type, test_id)) File "/home/sean/workspace/pyport/pyport.py", line 54, in get_item
response.raise_for_status() File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 741, fin raise_for_status
raise HTTPError('%s Client Error' % self.status_code) HTTPError: 404 Client Error
Trường hợp ngoại lệ được nâng lên, nhưng nó không được đánh bắt bởi các thử nghiệm. Điều này tương tự như những gì đã xảy ra trong this question, nhưng nó không hoàn toàn giống nhau. Ai đó có thể cho tôi biết tôi đang thiếu gì không?
Cảm ơn bạn đã giải thích chi tiết. –