Django Benutzer Setup für Nase Tests

Ich habe versucht, einen Benutzer für Nase-Tests, aber es funktioniert nicht

Im globalen Bereich definiert:

from django.contrib.auth.models import User import nose.tools as noz 

Innerhalb einer Testklasse definiert:

 def setUp(self): self.client = Client() user = User(username="test", password="test") user.save() 

Der Benutzer wird gespeichert, den ich mit dem noz.set_trace () getestet habe, aber wenn eine Testfunktion die gleiche Benutzeranmeldung aufruft, wird ein Behauptungsfehler erhoben:

 nosetests --verbosity 1 Creating test database for alias 'default'... > <app-path>/tests.py(59)testTestUser() -> response = self.client.login(username=u'test', password=u'test') (Pdb) User.objects.all() [<User: test>] 

Die Funktion testTestUser ist wie folgt definiert:

 def testTestUser(self): """ Tests if the django user 'test' is setup properly.""" noz.set_trace() # login the test user response = self.client.login(username='test', password='test') noz.assert_equal(response, True) 

Relevante Testausgabe ist:

  noz.assert_equal(response, True) AssertionError: False != True ---------------------------------------------------------------------- Ran 1 test in 0.011s FAILED (failures=1) 

Meine Absicht ist, Ansichten zu testen, die requst.user.is_authenicated () Zweig haben.

One Solution collect form web for “Django Benutzer Setup für Nase Tests”

Dachte es aus: http://www.pukkared.com/2011/07/simulation-user-login-in-a-django-view-unit-test/

Der richtige Code ist:

 def setUp(self): self.client = Client() user = User.objects.create_user(username="test", password="test") def testTestUser(self): """ Tests if the django user 'test' is setup properly.""" noz.set_trace() # login the test user response = self.client.login(username='test', password='test') noz.assert_equal(response, True) 
  • Tkinter's event_generate Befehl ignoriert
  • Prüfen Sie, ob eine Funktion eine Warnung mit Nasentests auslöst
  • Django test datei herunterladen - "ValueError: I / O-Operation auf geschlossene Datei"
  • Warum könnte dieser Code eventuell einen Testfall ausfallen?
  • Verwenden von unittest.mock zum Patch-Eingabe () in Python 3
  • Wie benutzt man ein Befehlszeilenargument in unittest?
  • Spott eine Steckdose in Python
  • Verwalten von Protokollen / Warnungen in Python-Erweiterungen
  • Python ist die beste Programmiersprache der Welt.