有没有办法模拟一些GAE服务器错误?

时间:2012-02-01 02:38:45

标签: python google-app-engine

有没有方法可以在error_handlers文件中测试我的app.yaml设置,尤其是错误代码over_quota

1 个答案:

答案 0 :(得分:5)

测试error_handlers

dev_appserver.py是解析您的app.yaml并提供这些错误文件的应用程序。这意味着您最好的选择可能是直接验收测试,您可以在其中调出dev_appserver.py并尝试使用localhost:8080GETs点击它PUTs你期待的错误。

因此,如果/foo返回404,则可以使用Python requests执行以下操作:

>>> def test_foo():
>>>   response = requests.get('/foo')
>>>   assert response.status_code == 404

测试超过配额错误

在这种特定情况下,听起来您正试图明确提出over_quota错误。 This link提到你正在寻找的例外是apiproxy_errors.OverQuotaError

我不确定您的测试代码是什么,但您是否尝试过直接raise明确提出此错误?

我可以在引导我的apiproxy_stub_map,设置我的路径等后运行以下代码:

from google.appengine.runtime import apiproxy_errors

def test_foo():
  raise apiproxy_errors.OverQuotaError