Класс TestLoader имеет функцию Discover (). Среда тестирования Python использует это для простого обнаружения тестов. Чтобы быть совместимыми, модули и пакеты, содержащие тесты, должны импортироваться из каталога верхнего уровня.
Ниже приведено основное использование командной строки для обнаружения тестов:
Python –m unittest discover
Интерпретатор пытается рекурсивно загрузить все модули, содержащие тест, из текущего каталога и внутренних каталогов. Другие параметры командной строки:
Sr.No. | Варианты и описание |
---|---|
1 |
-v, —verbose Подробный вывод |
2 |
-s, —start-каталог каталог Каталог для запуска обнаружения (. по умолчанию) |
3 |
-p, —pattern pattern Шаблон для соответствия тестовым файлам (test * .py по умолчанию) |
4 |
-t, —top-level-directory каталог Каталог верхнего уровня проекта (по умолчанию — начальный каталог) |
-v, —verbose
Подробный вывод
-s, —start-каталог
каталог Каталог для запуска обнаружения (. по умолчанию)
-p, —pattern
pattern Шаблон для соответствия тестовым файлам (test * .py по умолчанию)
-t, —top-level-directory
каталог Каталог верхнего уровня проекта (по умолчанию — начальный каталог)
Например, чтобы обнаружить тесты в модулях, имена которых начинаются с «assert» в каталоге «tests», используется следующая командная строка:
C:\python27>python –m unittest –v –s "c:\test" –p "assert*.py"
Обнаружение тестов загружает тесты, импортируя их. Как только тестовое обнаружение обнаружит все тестовые файлы из указанного вами начального каталога, он преобразует пути в имена пакетов для импорта.
Если вы указали стартовый каталог в качестве имени пакета, а не пути к каталогу, то обнаружение предполагает, что из любого места, из которого он импортируется, находится местоположение, которое вы наметили, поэтому вы не получите предупреждение.