Ich habe Benutzer für meine Komponententests auf zwei Arten erstellt:
1) Erstellen Sie ein Fixture für "auth.user", das ungefähr so aussieht:
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "homer",
"is_active": 1,
"password":
"sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2",
...
}
}
Ich habe die scheinbar unwichtigen Teile weggelassen.
2) Verwenden Sie 'create_user' in der setUp-Funktion (obwohl ich lieber alles in meiner Fixtures-Klasse behalten möchte):
def setUp(self):
User.objects.create_user('homer', 'ho...@simpson.net', 'simpson')
Beachten Sie, dass das Passwort in beiden Fällen simpson ist.
Ich habe überprüft, ob diese Informationen immer wieder korrekt in die Testdatenbank geladen werden. Ich kann das User-Objekt mit User.objects.get abrufen. Ich kann mit 'check_password' überprüfen, ob das Passwort korrekt ist. Der Benutzer ist aktiv.
Self.client.login (Benutzername = 'Homer', Passwort = 'Simpson') schlägt jedoch immer fehl. Ich bin verblüfft, warum. Ich glaube, ich habe jede einzelne diesbezügliche Internetdiskussion gelesen. Kann jemand helfen?
Der Login-Code in meinem Unit-Test sieht folgendermaßen aus:
login = self.client.login(username='homer', password='simpson')
self.assertTrue(login)
Vielen Dank.