UnitTest Framework - Wykrywanie testów
Klasa TestLoader ma funkcję Discover (). Framework testowy Pythona używa tego do prostego wykrywania testów. Aby moduły i pakiety zawierające testy były kompatybilne, muszą być możliwe do zaimportowania z katalogu najwyższego poziomu.
Poniżej przedstawiono podstawowe użycie funkcji wykrywania testów w wierszu poleceń -
Python –m unittest discover
Interpreter próbuje rekurencyjnie załadować wszystkie moduły zawierające test z katalogu bieżącego i katalogów wewnętrznych. Inne opcje wiersza poleceń to -
Sr.No. | Opcje i opis |
---|---|
1 | -v, --verbose Gadatliwe wyjście |
2 | -s, --start-directory katalog Katalog do rozpoczęcia wykrywania (. domyślny) |
3 | -p, --pattern wzorzec Wzorzec pasujący do plików testowych (domyślnie test * .py) |
4 | -t, --top-level-directory katalog Katalog najwyższego poziomu projektu (domyślnie katalog startowy) |
Na przykład, aby znaleźć testy w modułach, których nazwy zaczynają się od „assert” w katalogu „testy”, używany jest następujący wiersz poleceń -
C:\python27>python –m unittest –v –s "c:\test" –p "assert*.py"
Wykrywanie testów ładuje testy, importując je. Gdy wykrywanie testowe znajdzie wszystkie pliki testowe z określonego katalogu startowego, zamienia ścieżki w nazwy pakietów do zaimportowania.
Jeśli podasz katalog startowy jako nazwę pakietu, a nie jako ścieżkę do katalogu, wówczas funkcja wykrywania zakłada, że niezależnie od lokalizacji importu jest to lokalizacja, którą zamierzałeś, więc nie otrzymasz ostrzeżenia.