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"
Обнаружение тестов загружает тесты, импортируя их. После того, как обнаружение тестов обнаружит все тестовые файлы из указанного вами начального каталога, оно преобразует пути в имена пакетов для импорта.
Если вы указываете начальный каталог как имя пакета, а не путь к каталогу, то обнаружение предполагает, что любое место, из которого он импортирует, является местом, которое вы предполагали, поэтому вы не получите предупреждения.