djangoのクライアントクラスを使用してアプリケーションをテストするときにrequest.userオブジェクトにアクセスしようとしています。Djangoのテスト時にrequest.userオブジェクトにアクセス
from django.test import TestCase
from django.test.client import Client
class SomeTestCase(TestCase):
def setUp(self):
self.client = Client()
self.client.login(username="foo", password="bar")
def test_one(self):
response = self.client.get("/my_profile/")
self.fail(response.request.user)
これは明らかに失敗しますが、response.requestにはユーザー属性がないため失敗します。
AttributeError: 'dict' object has no attribute 'user'
クライアントインスタンスからユーザーオブジェクトにアクセスする方法はありますか。テストユーザーのデータが適切にレンダリングされているかどうかを確認するためにこれを実行したいと思います。私はsetUpの間に必要なすべての情報を設定することでこれに取り組もうとすることができますが、私がそれをする前に、何かが欠けていないかどうかを確認したいと思っていました。
http://stackoverflow.com/questions/2840467/problems-using-user-model-in-django-unit-testsこれはSecatorの推奨事項を使用していますが、setUpメソッドとtearDownメソッドではちょっとちょっとしたクリーナーです。 – Aea