書面によるdjangoテストでは、現在ログインしているユーザーをどのように取得できますか?django - テストクライアントにユーザーをログインさせる
例えばこれは私が書きたいテストです:...だから私は何かのように言うことができるようにしたい
def test_author_set_once(self):
self.client.login(username='Adam', password='password')
#create an object and test the author is adam
self.client.login(username='Barry', password='password')
#modify the first object and test that the author has not changed
self.assertEqual(object.author, self.client.user)
(しかし、私はできません)
私は、現時点ではそれをコード化されてきた方法は、このようなものです:
self.client.login(username='Adam', password='password')
self.user = User.objects.get(username='Adam')
#create an object
self.assertEqual(object.author, self.user)
これは、request.userが特定のユーザーオブジェクトと同じであるという前提に基づいています。私はそれがOKだと思うが、それは少しclunkyようです。
これを避けるためにとにかくありますか?
私の応答が要求ディクショナリ内のユーザーを持っていません。 – powlo
同じです。存在しない。 –
よろしくお願いします。この回答を** 2年前**に追加しました。当然のことながら、Djangoは当時(* 3、count 'em、3つのメジャーリビジョンのように)*ちょっと変わったようです。それは私の答えを下降させる理由ではありません。 http://stackoverflow.com/privileges/vote-down –