5

Ich habe die Anmeldeauthentifizierung für meine Django-App aktiviert. Komponententests für Ansichten funktionieren nicht, da sie auf der Anmeldeseite hängen bleiben. Festlegen eines Haltepunkts unmittelbar nach der Antwort der Ansicht zurückgegeben undWie richte ich einen Unit Test Benutzer für die Django App ein? Der Komponententest kann nicht angemeldet werden

Druck response.content

Ergebnisse in der Ausgabe mit, die den Ausdruck enthält ‚bitte anmelden‘

Wie kann ich ein Setup-Benutzer so Der Testfall kann sich einloggen? Ich habe versucht, meinen Benutzernamen und mein Passwort zu verwenden, aber es funktioniert nicht im Komponententestkontext.

Antwort

7

der folgende Code am Anfang des Testfalls eingesetzt erstellt einen Benutzer meldet sie, und ermöglicht es der Rest des Tests

self.user = User.objects.create_user(username='testuser', password='12345') 
login = self.client.login(username='testuser', password='12345') 
+2

Django docs contiue raten 'mit' '' create_user() '' anstatt '' 'create()' ''. Dies würde Ihnen erlauben, den '' 'set_password''' Schritt zu überspringen. – rurp

+0

@rurp du bist genau richtig. Ich habe die Antwort geändert, um deinen Kommentar zu reflektieren. Danke, dass du eine weitere Zeile aus meinem Code entfernt hast! – dolphus333