サーバーエラー用のハンドラーを作成し、ルートurls.pyで定義します。handler500='myhandler'そして、それがどのように機能するかをテストするためのunittestを作成します。テストでは、エラーのあるビューを記述し、テストURL構成で定義します。ブラウザーでこのビューにリクエストを送信すると、ハンドラーが表示され、ステータスコード500を受け取りますが、このビューにリクエストを送信するテストを起動すると、スタックトレースと私のテストは失敗しました。unittestsでhandler500をテストするためのアイデアはありますか?
1 に答える
3
ここでやりたいのは統合テストです。ユニットテストはそれに適したツールではありません。
Djangoには、 Seleniumなどの有名なライブブラウザテストツールの使用のサポートが含まれています。
ご指摘のとおり、特定のケースでは、Seleniumを使用してページのステータスコードを取得するのは実際にはかなり複雑なので、より単純なアプローチを使用することをお勧めします。
- 使う
LiveServerTestCase
requests
テストページにアクセスするなどのPythonHTTPクライアントを使用します- テストページでHTTP500エラーが生成されることを確認します
- テストページに期待されるコンテンツが含まれていることを確認します。
テストページでJSをテストする場合は、ステータスをテストするリクエストと組み合わせて、その部分にSeleniumを使用します。
于 2012-10-07T11:18:45.717 に答える