0

アプリケーションの実行に App Engine を使用しており、サーバー エラーの処理方法をテストしたいと考えています。WebTestを介してエラー 500 をシミュレートする可能性はありますか?

4

2 に答える 2

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')

どちらの方法でもトレースバックが表示されますが、テストはパスします

于 2012-11-27T20:33:22.977 に答える
1

500 エラーは、webapp がキャッチされない例外を取得したときにクライアントに返すものです。これは特定の障害ではなく、予期しない問題が発生したときにユーザーに表示されるものです。代わりに、ハンドラーを単体テストして、期待どおりに動作することを確認する必要があります。

于 2011-06-24T00:45:05.183 に答える