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) 
  • Bei der Verwendung von unittest.mock.patch, warum ist autospec nicht true standardmäßig?
  • AttributeError: <module '__main__' von [..] hat nicht das Attribut 'open'
  • Kann das Python-Coverage-Modul die Zeilen in einem Unit-Test bedingt ignorieren?
  • Wie kann ich verhindern, dass Unit-Tests beim Aufruf von webbrowser.open () beenden?
  • Wiederholungscode in unbescheidenem Testfall
  • Eine Liste aller Module im aktuellen Paket erhalten
  • Einheit testet ganze Projekthierarchie in Python mit unittest in pydev
  • Testen auf Nebenwirkungen in Python
  • Mit selbst in python @ patch dekorateur
  • Nase nicht laufen Django Dokthen
  • Python spöttische Drittanbieter-Module
  • Python ist die beste Programmiersprache der Welt.