Ich verwende unittest
, um meine Flask-Anwendung zu testen, und nose
, um die Tests tatsächlich auszuführen.
Meine erste Testreihe besteht darin, sicherzustellen, dass die Testumgebung sauber ist und die Tests in der konfigurierten Datenbank der Flask-App nicht ausgeführt werden. Ich bin zuversichtlich, dass ich die Testumgebung sauber eingerichtet habe, aber ich möchte etwas Gewissheit darüber haben, ohne alle Tests durchzuführen.
%Vor% Ich möchte, dass TestEnvironmentTest
bewirkt, dass unittest
oder nose
bei fehlgeschlagenem Zugriff zurückgestellt wird, und verhindert, dass SomeOtherTest
und alle weiteren Tests ausgeführt werden. Gibt es eine eingebaute Methode in unittest
(preferred) oder nose
, die dies erlaubt?
Damit ein Test zuerst ausgeführt wird und nur die Ausführung der anderen Tests im Falle eines Fehlers mit diesem Test gestoppt wird, müssen Sie einen Aufruf zum Test in setUp()
(da Python die Testreihenfolge nicht garantiert) und dann fehlschlägt oder den Rest bei einem Fehler überspringt.
Ich mag skipTest()
, weil es die anderen Tests nicht ausführt, während es erhöht Eine Ausnahme scheint immer noch versuchen, die Tests auszuführen.
Für Ihren Anwendungsfall gibt es die Funktion setUpModule()
:
Wenn eine Ausnahme in
setUpModule
ausgelöst wird, dann keine der Tests in Das Modul wird ausgeführt und dertearDownModule
wird nicht ausgeführt. Ob Die Ausnahme ist eineSkipTest
Ausnahme, dann wird das Modul sein wird als übersprungen gemeldet anstatt als Fehler.
Testen Sie Ihre Umgebung in dieser Funktion.
Tags und Links python unit-testing nose