5

J'ai activé l'authentification de connexion pour mon application django. Les tests unitaires pour les vues ne fonctionnent pas car ils sont bloqués sur la page de connexion. Définition d'un point d'arrêt immédiatement après la réponse de la vue est retournée et en utilisantComment configurer un utilisateur de test unitaire pour l'application django? Le test d'unité ne peut pas se connecter

print response.content

résultats en sortie qui contient l'expression « s'il vous plaît vous connecter »

Comment puis-je configurer un utilisateur afin le test peut-il se connecter? J'ai essayé d'utiliser mon nom d'utilisateur et mon mot de passe, mais cela ne fonctionne pas dans le contexte du test unitaire.

Répondre

7

Le code suivant inséré au début du testcase crée un utilisateur, les connecte, et permet le reste du test à contiue

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

Django docs conseiller à l'aide '' 'create_user()' '' plutôt que '' 'create()' ''. Cela vous permettrait d'ignorer l'étape '' 'set_password'''. – rurp

+0

@rurp vous avez parfaitement raison. J'ai changé la réponse pour refléter votre commentaire. Merci d'avoir supprimé une autre ligne de mon code! – dolphus333