2012-07-12 17 views
12

Grałem z pyUnit ramy dla unittest testowania mojej aplikacji. Czy istnieje jakiś sposób na pominięcie wszystkich testów w klasie, jeśli pewien warunek w setUpClass nie powiedzie się?Pomiń unitest, jeśli jakiś warunek w SetUpClass nie powiedzie się

Obecnie konfiguruję środowisko (tworzenie zasobów, konfigurowanie ustawień globalnych) w setUpClass. Ale jeśli którykolwiek z tych zasobów nie powiedzie się ... Podnoszę wyjątek. Zamiast tego chcę pominąć cały zestaw testów.

Odpowiedz

23

dostałem odpowiedź:

Dla tych, którzy utknie tutaj-

unittest można pominąć z setUpClass w następujących drodze,

raise unittest.SkipTest(message) 
+0

Oto doc http://docs.python.org/library/unittest.html#skipping-tests-and-expected-failures –

+2

można również podnieść to od samych testów jeśli stwierdzą, że nie powinny być uruchamiane z jakiegokolwiek powodu. – gps

+0

Czy istnieje sposób, w jaki można go pominąć, nie podnosząc wyjątku? Chcę zobaczyć 0 wyjątków i 0 awarii, gdy pominiemy to w klasie. Ta metoda pokazuje wyjątek w wynikach uruchamiania. –

1

Zamiast jawnie podniesienie wyjątku SkipTest The documentation sugeruje użycie TestCase.skipTest(). Na przykład:

def setUp(self): if skip_tests_flag: self.skipTest('skipped test due to skip_tests_flag')

+0

tak, ale spędzasz dodatkowy czas w setUpClass i metodach setup dla testu, który zamierzasz pominąć –

Powiązane problemy