【发布时间】:2019-11-04 18:22:48
【问题描述】:
我正在为一个 api 进行几个单元测试。测试使用 @patch 来模拟 api 调用。我希望创建的一些测试应该触发异常。如何在单元测试中处理它?
这是我目前所拥有的。 Pylint 抱怨 assertTrue() 语句。我确信有更好的方法来处理异常。
@patch('myapi.myapi.requests.request')
def test_auth_failure(self, mock_request):
# Configure the request mock to return an auth failure
# Auth/login (/session) failures return status 200, but without a token!
mock_request.return_value.status_code = 200
mock_request.return_value.content = json.dumps(self.mock_auth_failure)
try:
# Call auth()
self.api.auth()
# Exception should have been raised
self.assertTrue(False)
except exceptions.HTTPUnauthorized:
# Exception caught
self.assertTrue(True)
附加信息:这是在从 unittest.TestCase 扩展的类中。示例:
class MyApiTests(unittest.TestCase):
【问题讨论】:
-
您在代码中遗漏了
',请修复它 -
这也是单元测试吗?
标签: python python-3.x