我在测试API时遇到了以下错误。
AppError: Bad response: 404 Not Found (not 200 OK or 3xx redirect for http://localhost/_ah/spi/AdminAuthentication.authenticate)
'{"state": "APPLICATION_ERROR", "error_message": "No user with the E-mail address \\"foo@bar.com\\" exists."}'
这是测试功能,我写了
def test_should_not_authenticate_if_there_is_no_user_for_email(self):
app = endpoints.api_server([AdminAuthentication], restricted=False)
testapp = webtest.TestApp(app)
msg = {'email': 'foo@bar.com'}
resp = testapp.post_json('/_ah/spi/AdminAuthentication.authenticate', msg)
self.assertEqual(resp.status_int, 404)
app.yaml
文件的相应路由定义应如下所示,
- url: /_ah/spi/.*
script: api.services.application
答案 0 :(得分:2)
默认情况下,它需要状态代码200。 http://webtest.readthedocs.org/en/latest/testapp.html
要指示其他状态,请使用关键字参数 status = 404 to(例如)检查它是否为404状态,或 status =“*”允许任何状态,或status =“400 Custom Bad Request” 使用自定义原因短语。 如果您希望打印错误,请使用expect_errors = True。