Запуск тестов через терминал
Запуск тестов через терминал в Pytest довольно прост и позволяет вам легко управлять различными аспектами выполнения тестов. Для запуска тестов через терминал вы можете использовать команду pytest
с дополнительными параметрами и флагами в соответствии с вашими потребностями.
Вот примеры некоторых распространенных способов запуска тестов через терминал с использованием Pytest:
Запуск всех тестов в текущем каталоге:
pytest

Запуск всех тестов в указанном файле:
pytest test_example.py

Запуск всех тестов в указанных файлах и каталогах:
pytest tests/ test_example.py
Подробный вывод (verbose):
pytest -v
Запуск тестов без захвата вывода (stdout):
pytest -s
Запуск тестов, содержащих указанное ключевое слово в имени:
pytest -k "keyword"
Запуск тестов, отмеченных определенным маркером:
pytest -m "marker_name"
Запуск отдельного теста:
pytest test_example.py::test_function
Включение интерактивного отладчика (PDB) при ошибке:
pytest --pdb
Генерация отчета о покрытии кода тестами:
pytest --cov=my_module tests/
Создание отчета в формате HTML:
pytest --html=report.html
Список доступных флагов и помощь:
pytest --help
Флаги
В Pytest флаги представляют собой дополнительные параметры, которые можно передать при запуске тестов с помощью командной строки. Они используются для настройки различных аспектов выполнения тестов. Вот некоторые из наиболее часто используемых флагов:
-v, --verbose: Устанавливает подробный вывод, позволяя увидеть подробную информацию о тестах, включая имена тестов, прошедшие и не прошедшие тесты.
-s, --capture=no: Отключает захват вывода (stdout), что позволяет видеть все сообщения, выводимые с помощью функции
print
.-k EXPRESSION, --keyword=EXPRESSION: Запускает только те тесты, имена которых содержат указанное ключевое слово (регулярное выражение).
-m MARKEXPR, --markers=MARKEXPR: Запускает только те тесты, которые помечены указанным маркером.
--lf, --last-failed: Запускает только тесты, которые завершились неудачей при последнем запуске.
--ff, --failed-first: Запускает сначала тесты, которые завершились неудачей при последнем запуске, а затем все остальные тесты.
--pdb: Включает интерактивный отладчик (PDB) при возникновении ошибки или отказа в тесте.
--maxfail=num: Останавливает выполнение тестов после того, как заданное количество тестов завершится неудачей.
--durations=num: Печатает список самых медленных тестов и фикстур в конце запуска тестов.
--junitxml=path: Генерирует файл XML с результатами тестов в формате JUnit XML.
--cov: Вычисляет покрытие кода тестами и выводит отчет о покрытии.
--html=path: Генерирует отчет о тестировании в формате HTML.
--help: Выводит справочную информацию о доступных флагах.
Это только некоторые из флагов, поддерживаемых Pytest. Флаги можно комбинировать для настройки выполнения тестов по вашему усмотрению, что обеспечивает гибкость и удобство при работе с тестами.
Last updated