[Python] Wie man Benutzer und Anfragen in Django vortäuscht


Answers

Wie verspotten Sie Benutzer?

Initialisieren Sie ein django.contrib.auth.models.User Objekt. User.objects.create_user macht das einfach.

Wie verspotten Sie Anfragen?

Initialisieren Sie ein django.http.HttpRequest Objekt.

Natürlich gibt es Verknüpfungen, je nachdem, was Sie tun möchten. Wenn Sie nur ein Objekt mit einem user benötigen, das auf einen Benutzer verweist, erstellen Sie einfach etwas (irgendetwas) und geben Sie dieses Attribut an.

Question

Ich habe einen Django-Code, der mit Anforderungsobjekten oder Benutzerobjekten interagiert. Zum Beispiel so etwas wie:

foo_model_instance = models.get_or_create_foo_from_user(request.user)

Wenn du mit der Django Python Shell oder in einem Unittest testen würdest, was würdest du dort weitergeben? Hier genügt ein User-Objekt, aber die Notwendigkeit eines Schein-Request-Objekts kommt auch häufig vor.

Für die Shell oder für Unittests:

  • Wie verspotten Sie Benutzer?
  • Wie verspotten Sie Anfragen?