Ich habe eine Middleware-Funktion, die request.foo
definiert. Eine Funktion, die ich testen möchte, hängt davon ab, ob foo von der Middleware definiert wird. Wie kann ich diese Funktion testen, da die Middleware während der Tests nicht ausgeführt wird?
Es sollte wirklich eine Funktion geben, die eine Anfrage aufnimmt, die Anfrage über die gesamte Middleware in Reihenfolge ausführt und dann die letzte Anfrage ausspuckt (genau so, wie sie wäre, wenn sie an eine Ansicht übergeben würde). Existiert eine solche Funktion?
Ich könnte die Middleware-Funktion manuell aufrufen, aber das scheint ein Hack zu sein. Was passiert, wenn die getestete Middleware von einer anderen Middleware abhängig ist? Ich würde auf "Middleware-Hölle" stoßen.
Middleware-Funktion:
%Vor%Hier ist die Funktion, die ich testen möchte:
%Vor% Wie teste ich getBaz
?
Ich könnte die Middleware manuell ausführen:
%Vor%aber das scheint wie ein Hack. Was ist, wenn die getestete Middleware von einer anderen Middleware abhängig ist?
Aus der Spitze meines Kopfes (ich kann diese Idee jetzt nicht testen, aber ich habe das gleiche Problem wie Sie): wäre es eine Lösung, einen Kontextprozessor einzubeziehen, der einfach die Anforderungsvariablen zurückgibt eingefügt von der Middleware-Komponente?
Tags und Links django testing django-testing