Einheitentest Flask view spotting Sellerie Aufgaben

8

Ich habe also eine Flashen-Ansicht, die einer Warteschlange eine Sellerie-Aufgabe hinzufügt und dem Benutzer eine 200er-Datei zurückgibt.

%Vor%

Das Problem besteht darin, Folgendes zu testen: ich möchte keine Sellerie-Instanz usw. haben. Ich möchte nur wissen, dass nach der Überprüfung alles in Ordnung ist und der Benutzer 200 zurückgibt. Die Sellerie launch_task() wird an anderer Stelle getestet.

Deshalb bin ich scharf darauf, dass launch_task() call so im Wesentlichen zu verspotten, dass es nichts tut, was meinen unitest unabhängig von der Sellerie-Instanz macht.

Ich habe verschiedene Inkarnationen ausprobiert:

%Vor%

Aber es scheint nicht zu funktionieren, meine Ansicht endet einfach mit einem 500 Fehler. Jede Hilfe wäre willkommen!

    
jvc26 16.06.2013, 10:40
quelle

2 Antworten

4

Ich habe auch einen @patch Decorator probiert und es hat nicht funktioniert Und ich fand in setUp like:

%Vor%     
Rafał Malinowski 16.06.2013, 11:03
quelle
1

Der @task Dekorator ersetzt die Funktion durch ein Task Objekt (siehe Dokumentation ). Wenn Sie die Aufgabe selbst verspotten, ersetzen Sie das (etwas magische) Task -Objekt mit einem MagicMock und es wird die Aufgabe überhaupt nicht geplant. Stattdessen die Task -Methode des run() -Objekts wie folgt vortäuschen:

%Vor%     
Danielle Madeley 26.03.2015 00:50
quelle