我正在使用Django rest_framework为我的API端点进行单元测试。我能够测试与我的端点相关的大部分错误代码,除了500错误代码。在单元测试框架中,有没有办法模拟客户端函数返回500错误响应,或者有没有更干净的方法?
class UserApiTests(TestCase):
def setUp(self):
self.client = APIClient()
...
def test_retrieve_user(self):
"""Test server failure while retrieving profile for user."""
res = self.client.get(USER_URL)
# Below should return server error
self.assertEqual(res.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
1条答案
按热度按时间r7s23pms1#
APIClient
类支持与Django标准Client
类相同的请求接口,因此可以使用raise_request_exception
参数来控制是否引发异常或返回500响应(将raise_request_exception
设置为False
以获得500响应)。修改
setUp()
方法应该可以做到这一点:以下是文档和ticket discussing this issue以获取更多信息。