2016-03-29 23 views
3

私はジャンゴで次のテストを参照するために使用:Djangoのテストに使用正しいテンプレート:self.assertTemplateUsed(と)

with self.assertTemplateUsed('<someTemplate>'): 
    response = self.client.get('<someURL>') 
    self.assertEqual(response.status_code, 200) 

質問:

我々はすでにwith一部を持っていたので、それがありますstatus_codeをテストするために必要ですか?言い換えれば、最後のステートメントは重複していますか?

答えて

3

ビューレンダリングテンプレートでも、status_codeをテストすることをお勧めします。

Djangoでは、テンプレートをレンダリングするときに、自分の望むステータスコードを渡すことができます。

render()render_to_responseの両方をキーワード引数にして、ビューに適したステータスコードでページをレンダリングできるようにします。

したがって、応答ステータスコードが200以外のテンプレートをレンダリングすることができます。コンテキストマネージャーとしてassertTemplateUsedを使用している間に、ステータスコードをテストする理由があります。

1

アプリが同じテンプレートを使用して異なる応答ステータスを送信する場合は、冗長ではありません。一般的なケースでは、assertTemplateUsedを使用しても問題ありません。

関連する問題