Mit Django-Nase und Django-Sellerie zusammen - Unit Testing

8

Ich habe ein Django-Projekt, das Django-Nase verwendet. Ich möchte dem Projekt django-sellery hinzufügen. Ich verwende Komponententests. Sowohl Django-Nose als auch Django-Sellerie benötigen eine TEST_RUNNER Einstellung in meiner settings.py Datei. Speziell:

%Vor%

für Django-Nase und:

%Vor%

für Django-Sellerie.

Wie soll ich damit umgehen, damit ich beide Pakete verwenden kann?

    
Erik 23.03.2013, 02:38
quelle

3 Antworten

6

Ich fand, dass der beste Weg, dies zu umgehen, ist, den Sellery Testläufer zu überspringen. Ich benutze nur dekorieren meine Sellerie-Tests mit einem @override_settings(CELERY_ALWAYS_EAGER=True) und alles wird gut getestet.

    
Erik 06.05.2013, 18:42
quelle
4

Wenn Sie in der Lage sind, Ihre Tests in Abhängigkeit von Sellerie und Nicht-Sellerie zu isolieren, können Sie versuchen, Überschreiben von Einstellungen für die Testklassen, die Sellerie-Aufgaben aufrufen:

%Vor%

, während der NoseTestRunner in settings.py

als Standard festgelegt wurde     
perrygeo 15.04.2013 01:48
quelle
1

Sie können Sellery Runner und Nose Runner subclass, dann bekommen Sie gute Seiten für alle von ihnen.

%Vor%

Dann in deinen Einstellungen:

%Vor%

Warum es funktioniert:

%Vor%

Sie erhalten:

%Vor%

Der Test CeleryTestRunner hat nichts getan, nur einige Config gesetzt und dann super().setup_test_environment() aufgerufen. Dann sucht der Supervisor nach setup_test_environment () in dieser Kette.

Sehen Sie sich das Video von Raymond Hettinger an: super super ( hier ).

    
Shuo 15.12.2015 06:46
quelle