Pytest
  • Введение
  • Пример тестирования
  • fixture (Фикстуры)
    • Параметризация
    • декораторы в питоне
    • Пример использования
  • 📚Практика
    • API OpenWeatherMap
    • API OMDBapi
  • scope
  • Запуск тестов через терминал
    • пример иерархии каталогов для организации тестов и их запуска с помощью Pytest
  • argparse
    • Создание интерфейса командной строки
Powered by GitBook
On this page

Запуск тестов через терминал

PreviousscopeNextпример иерархии каталогов для организации тестов и их запуска с помощью Pytest

Last updated 1 year ago

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

Вот примеры некоторых распространенных способов запуска тестов через терминал с использованием Pytest:

  1. Запуск всех тестов в текущем каталоге:

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

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

    pytest tests/ test_example.py
  2. Подробный вывод (verbose):

    pytest -v
  3. Запуск тестов без захвата вывода (stdout):

    pytest -s
  4. Запуск тестов, содержащих указанное ключевое слово в имени:

    pytest -k "keyword"
  5. Запуск тестов, отмеченных определенным маркером:

    pytest -m "marker_name"
  6. Запуск отдельного теста:

    pytest test_example.py::test_function
  7. Включение интерактивного отладчика (PDB) при ошибке:

    pytest --pdb
  8. Генерация отчета о покрытии кода тестами:

    pytest --cov=my_module tests/
  9. Создание отчета в формате HTML:

    pytest --html=report.html
  10. Список доступных флагов и помощь:

    pytest --help

Флаги

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

  1. -v, --verbose: Устанавливает подробный вывод, позволяя увидеть подробную информацию о тестах, включая имена тестов, прошедшие и не прошедшие тесты.

  2. -s, --capture=no: Отключает захват вывода (stdout), что позволяет видеть все сообщения, выводимые с помощью функции print.

  3. -k EXPRESSION, --keyword=EXPRESSION: Запускает только те тесты, имена которых содержат указанное ключевое слово (регулярное выражение).

  4. -m MARKEXPR, --markers=MARKEXPR: Запускает только те тесты, которые помечены указанным маркером.

  5. --lf, --last-failed: Запускает только тесты, которые завершились неудачей при последнем запуске.

  6. --ff, --failed-first: Запускает сначала тесты, которые завершились неудачей при последнем запуске, а затем все остальные тесты.

  7. --pdb: Включает интерактивный отладчик (PDB) при возникновении ошибки или отказа в тесте.

  8. --maxfail=num: Останавливает выполнение тестов после того, как заданное количество тестов завершится неудачей.

  9. --durations=num: Печатает список самых медленных тестов и фикстур в конце запуска тестов.

  10. --junitxml=path: Генерирует файл XML с результатами тестов в формате JUnit XML.

  11. --cov: Вычисляет покрытие кода тестами и выводит отчет о покрытии.

  12. --html=path: Генерирует отчет о тестировании в формате HTML.

  13. --help: Выводит справочную информацию о доступных флагах.

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