2011-08-15 8 views
0

djangoの統合では、ステータスコードが200であることを確認してページが正常に読み込まれるかどうかをテストするのは簡単です。 (ページの特定のセクションが静かに読み込まれなくなります)。この状況を捉える最善の方法は何ですか?このようなエラーをhttp応答に挿入する方法はありますか?djangoで部分的に読み込まれたWebページをテストする最良の方法

私は、潜在的にページのテキストを読み込んでいない可能性があるものをチェックするために正規表現を行うことができますか、おそらく特定のCSSクラスの名前が存在するかどうかを確認できます。しかし、これはあまりにも強固なアプローチではないようです。

答えて

0

これは、大幅に実装の詳細に依存しますが、あなたを助けるかもしれないテストテンプレートに2つの適切なアプローチがあります。部分的なページロードがテンプレート以上のものを使用していないことにより、トリガ/テストすることができる場合

  • は、構文の中には、WORKEDまたはFOOのように、応答で照合できるテキストを条件付きで印刷するテストテンプレートを作成します。

  • テンプレートが受け取るコンテキストに大きく左右されるものなら、テストケースの横に定義して嘲笑されたリクエストを渡して直接呼び出す一回限りのテストビューも同様に機能します。この場合、ページのレンダリングが期待どおりに進まない場合は、テストビューを使用して例外を発生させる可能性が高くなります。

  • また、2つを混在させることもできます。この場合、ビューを使用してHTTP応答を生成し、テストテキストを確認します。

これでうまくいかない場合は、テンプレートを上書きすることができます。一般的な問題は、グローバルであるためテキストとの照合に頼ることができないということです。テンプレートが変わる可能性があり、テストで失格となる可能性があります。次に、特定のテスト設定を使用して、テンプレートディスカバリ用のディレクトリを追加します。このディレクトリでは、変更されないテキストを含むさまざまなテンプレート実装を提供できます。このアプローチの難しさは、これまでの2つのアプローチとは対照的に、それ自体が適切に文書化されていないことです。

関連する問題