Как запустить все Python юнит-тесты в директории?
Можно ли запустить все юнит-тесты в директории одной командой (стандартный модуль unittest
)?
test/
test_mytest1.py
test_mytest2.py
Источник: Stack Overflow на русском
Можно ли запустить все юнит-тесты в директории одной командой (стандартный модуль unittest
)?
test/
test_mytest1.py
test_mytest2.py
Для этого применяется сабкоманда discover:
python -m unittest discover <directory>
Также есть флаг -p, --pattern
- "Pattern to match test files", по умолчанию test*.py
:
python -m unittest discover -s <directory> -p "test*.py"
Запуск необязательно производить в самой директории с тестами (.py
файлами) - каталоги и подкаталоги, содержащие тесты, могут быть пакетами, имеющими __init__.py
файл, поиск будет совершён рекурсивно.