DjangoでのPOSTのテスト
https://docs.djangoproject.com/ja/3.1/intro/tutorial05/#ideas-for-more-tests
Django公式チュートリアルの投票システムで、投票を実行した際のテストの記述を考える。
まず、新しいQuestionと、それに紐付く2件のChoiceを用意する。
まずは、単純にclient.postで、POSTデータを渡しつつURLを呼び出してみる。
この場合、レスポンスとしてはstatus_code=302が返って来る。
つまり、リダイレクト前のページ情報が取得されている。
参考:【Django】テストでリダイレクト先のページを検証する方法
https://qiita.com/kozakura16/items/c08b8cb8da12ace78658
リダイレクト先のページ内容まで検証する際は、client.post()メソッドの引数として、
follow=True
を渡してあげる。
これにより、最終的にリダイレクトされたページがレスポンスに入るので、出力の検証コードが記述できるようになる。
これは、公式ドキュメントの Testing Toolsページ内、getメソッドの項で触れられている。
https://docs.djangoproject.com/en/3.1/topics/testing/tools/#django.test.Client.get
0 件のコメント:
コメントを投稿