Testen schrieb ich folgendes Dekorateur in einigen Django Ansichten zu verwenden, wo ich will nicht der Benutzer angemeldet sein (wie Register und vergessen-Passwort):Einheit Dekorateure in Python
def not_logged_in(view, redirect_url=None):
def _wrapper(request, *args, **kwargs):
if request.user.is_authenticated():
return HttpResponseRedirect(
redirect_url or '/'
)
return view(*args, **kwargs)
return _wrapper
Sobald ich es habe, kann ich einfach schreiben:
@not_logged_in
def register(request):
...
I Unit-Tests für die Ansichten geschrieben haben, die sie verwenden, und es ist ohne Probleme funktioniert, aber ich frage mich, was der beste Weg wäre, der Einheit Testen Sie die not_logged_in
Funktion allein?
Haben Sie sich den Test für login_required angeschaut? https://code.djangoproject.com/browser/django/trunk/django/contrib/auth/tests/decorators.py – dannyroa
@dannyroa Vielen Dank. Ich werde jetzt tun. Ich bin mir ziemlich sicher, dass es eine gute Referenz sein wird :) –