UnitTest Framework - обнаружение тестов

В классе TestLoader есть функция discover (). Среда тестирования Python использует это для простого обнаружения тестов. Для обеспечения совместимости модули и пакеты, содержащие тесты, должны быть импортированы из каталога верхнего уровня.

Ниже приводится базовое использование тестового обнаружения в командной строке.

Python –m unittest discover

Интерпретатор пытается рекурсивно загрузить все модули, содержащие тест, из текущего каталога и внутренних каталогов. Другие параметры командной строки:

Sr.No. Опции и описание
1

-v, --verbose

Подробный вывод

2

-s, --start-directory

каталог Каталог для запуска обнаружения (по умолчанию)

3

-p, --pattern

шаблон Шаблон для соответствия тестовым файлам (по умолчанию test * .py)

4

-t, --top-level-directory

directory Каталог верхнего уровня проекта (по умолчанию - начальный каталог)

Например, для обнаружения тестов в модулях, имена которых начинаются с assert в каталоге tests, используется следующая командная строка:

C:\python27>python –m unittest –v –s "c:\test" –p "assert*.py"

Обнаружение тестов загружает тесты, импортируя их. После того, как обнаружение тестов обнаружит все тестовые файлы из указанного вами начального каталога, оно преобразует пути в имена пакетов для импорта.

Если вы указываете начальный каталог как имя пакета, а не путь к каталогу, то обнаружение предполагает, что любое место, из которого он импортирует, является местом, которое вы предполагали, поэтому вы не получите предупреждения.