ユニットテスト用のユーザーを2つの方法で作成しました。
1)「auth.user」のフィクスチャを次のように作成します。
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "homer",
"is_active": 1,
"password":
"sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2",
...
}
}
一見重要でない部分は省略しました。
2)setUp関数で「create_user」を使用します(ただし、すべてをフィクスチャクラスに保持したいのですが):
def setUp(self):
User.objects.create_user('homer', 'ho...@simpson.net', 'simpson')
どちらの場合も、パスワードはシンプソンであることに注意してください。
この情報がテストデータベースに何度も正しく読み込まれていることを確認しました。User.objects.getを使用してUserオブジェクトを取得できます。「check_password」を使用して、パスワードが正しいことを確認できます。ユーザーはアクティブです。
それでも、常に、self.client.login(username = 'homer'、password = 'simpson')は失敗します。理由がわからない。私はこれに関連するすべてのインターネットの議論を読んだと思います。誰か助けてもらえますか?
私の単体テストのログインコードは次のようになります。
login = self.client.login(username='homer', password='simpson')
self.assertTrue(login)
ありがとう。