我使用App Engine运行我的应用程序,并想测试它将如何处理服务器错误。 是否有可能通过WebTest 模拟错误500?
答案 0 :(得分:3)
我使用try except循环来解决它。
try:
self.testapp.get('/')
self.assertEqual(1, 2, 'GET request should have resulted in a 405 error') # Purposely fail
except webtest.app.AppError:
pass
另一种方法如下:
self.assertEqual("500 Internal Server Error", self.testapp.post('/', params={}, expect_errors=True).status, 'POST Request should have resulted in a 500 error')
两种方法仍然会导致回溯出现,但测试通过
答案 1 :(得分:1)
500错误就是您的webapp在获得未捕获的异常时返回给客户端的错误。这不是一个特定的失败 - 只是当意外出错时它向用户显示的内容。相反,您应该对处理程序进行单元测试,以确保它们按预期运行。