UnitTest Framework - obsługa sygnałów
Bardziej wydajna obsługa control-C podczas uruchamiania testowego jest zapewniana przez opcję wiersza polecenia -c / - catch do unittest, wraz z catchbreakparametr. Z włączonym zachowaniem typu catch break, control-C pozwoli na zakończenie aktualnie wykonywanego testu, a przebieg testowy zakończy się i zgłosi wszystkie dotychczasowe wyniki. Drugie Ctrl-c podniesie KeyboardInterrupt w zwykły sposób.
Jeśli wywoływana jest procedura obsługi unittest, ale procedura obsługi signal.SIGINT nie jest zainstalowana, wówczas wywołuje domyślną procedurę obsługi. Zwykle będzie to oczekiwane zachowanie przez kod, który zastępuje zainstalowaną procedurę obsługi i jej delegatów. W przypadku testów indywidualnych, które wymagają wyłączenia obsługi unittest control-c, można użyć dekoratora removeHandler ().
Następujące funkcje narzędziowe umożliwiają obsługę funkcji control-c w ramach testów -
unittest.installHandler ()
Zainstaluj program obsługi control-c. Kiedysignal.SIGINT jest odbierany, wszystkie zarejestrowane wyniki mają wywoływane TestResult.stop ().
unittest.registerResult (wynik)
Zarejestruj się TestResultobiekt do obsługi control-c. Zarejestrowanie wyniku przechowuje słabe odwołanie do niego, więc nie zapobiega gromadzeniu wyniku jako pamięci.
unittest.removeResult (wynik)
Usuń zarejestrowany wynik. Po usunięciu wyniku TestResult.stop () nie będzie już wywoływany na tym obiekcie wynikowym w odpowiedzi na control-c.
unittest.removeHandler (funkcja = Brak)
Wywołana bez argumentów, ta funkcja usuwa program obsługi control-c, jeśli został zainstalowany. Ta funkcja może być również używana jako dekorator testów, aby tymczasowo usunąć procedurę obsługi podczas wykonywania testu.
GUI Test Runner
Moduł unittest jest instalowany w celu interaktywnego wykrywania i uruchamiania testów. To narzędzie, skrypt Pythona „inittestgui.py”, używa modułu Tkinter, który jest portem Pythona dla zestawu narzędzi graficznych TK. Zapewnia łatwy w użyciu graficzny interfejs użytkownika do wykrywania i przeprowadzania testów.
Python unittestgui.py
Kliknij przycisk „Odkryj testy”. Pojawi się małe okno dialogowe, w którym można wybrać katalog i moduły, z których ma zostać uruchomiony test.
Na koniec kliknij przycisk Start. Testy zostaną wykryte z wybranej ścieżki i nazw modułów, a panel wyników wyświetli wyniki.
Aby zobaczyć szczegóły pojedynczego testu, wybierz i kliknij test w polu wyników -
Jeśli nie znajdziesz tego narzędzia w instalacji Pythona, możesz je pobrać ze strony projektu http://pyunit.sourceforge.net/.
Dostępne jest również narzędzie oparte na zestawie narzędzi wxpython.