ジャンゴ 1.9.6
リダイレクトをチェックするための単体テストを書きたいと思います。
ここで私が間違っていることを理解するのを手伝ってもらえますか。
前もって感謝します。
テスト:
from django.test import TestCase
from django.core.urlresolvers import reverse
from django.http.request import HttpRequest
from django.contrib.auth.models import User
class GeneralTest(TestCase):
def test_anonymous_user_redirected_to_login_page(self):
user = User(username='anonymous', email='vvv@mail.ru', password='ttrrttrr')
user.is_active = False
request = HttpRequest()
request.user = user
hpv = HomePageView()
response = hpv.get(request)
self.assertRedirects(response, reverse("auth_login"))
結果:
エラー: test_anonymous_user_redirected_to_login_page (general.tests.GeneralTest)
トレースバック (最後の最後の呼び出し): ファイル "/home/michael/workspace/photoarchive/photoarchive/general/tests.py"、44 行目、test_anonymous_user_redirected_to_login_page self.assertRedirects(response, reverse("auth_login")) ファイル "/home /michael/workspace/venvs/photoarchive/lib/python3.5/site-packages/django/test/testcases.py"、326 行目、assertRedirects redirect_response = response.client.get(path, QueryDict(query), AttributeError: 「HttpResponseRedirect」オブジェクトに属性「クライアント」がありません
0.953 秒で 3 つのテストを実行
何pdbが言う:
-> self.assertRedirects(response, reverse("auth_login"))
(Pdb) response
<HttpResponseRedirect status_code=302, "text/html; charset=utf-8", url="/accounts/login/">