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

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

Предположим, у вас есть проект Python с такой структурой:

project/
│
├── src/
│   ├── my_module.py
│   └── other_module.py
│
└── tests/
    ├── test_my_module.py
    ├── test_other_module.py
    └── integration/
        ├── test_integration_1.py
        └── test_integration_2.py
  • src/: Этот каталог содержит ваш исходный код, включая модули, которые вы хотите протестировать.

  • tests/: Этот каталог содержит ваши тесты.

    • test_my_module.py: Файл с тестами для модуля my_module.py.

    • test_other_module.py: Файл с тестами для модуля other_module.py.

    • integration/: Этот подкаталог содержит интеграционные тесты, которые могут требовать доступа к внешним ресурсам или базе данных.

      • test_integration_1.py: Файл с интеграционными тестами.

      • test_integration_2.py: Еще один файл с интеграционными тестами.

Теперь давайте рассмотрим различные способы запуска тестов для этой структуры каталогов:

  1. Запуск всех тестов:

    pytest tests/

    Эта команда запустит все тесты в каталоге tests/, включая файлы test_my_module.py, test_other_module.py, и все тесты из подкаталога integration/.

  2. Запуск всех тестов в конкретном файле:

    pytest tests/test_my_module.py

    Эта команда запустит только тесты из файла test_my_module.py.

  3. Запуск всех тестов с маркером:

    pytest -m integration

    Эта команда запустит только тесты, помеченные маркером integration, то есть все тесты из подкаталога integration/.

  4. Запуск тестов с покрытием кода:

    pytest --cov=src/ tests/

    Эта команда запустит все тесты и вычислит покрытие кода тестами для модулей в каталоге src/.

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

Last updated 1 year ago