← Назад ко всем вопросам

Где и как настраивается PyTest: pytest.ini/pyproject.toml/setup.cfg? Что туда кладут?

1️⃣ Как кратко ответить

PyTest настраивается через файлы pytest.ini, pyproject.toml и setup.cfg. Эти файлы содержат конфигурационные параметры, такие как пути к тестам, дополнительные плагины, параметры командной строки и настройки логирования. pytest.ini — это основной файл конфигурации для PyTest, pyproject.toml может содержать настройки для различных инструментов, включая PyTest, а setup.cfg используется для конфигурации пакетов и может включать секцию для PyTest.

2️⃣ Подробное объяснение темы

PyTest — это популярный фреймворк для тестирования в Python, который позволяет настраивать свое поведение через конфигурационные файлы. Эти файлы помогают управлять различными аспектами тестирования, такими как выбор тестов, параметры запуска и интеграция с другими инструментами. Рассмотрим три основных файла конфигурации: pytest.ini, pyproject.toml и setup.cfg.

pytest.ini

pytest.ini — это основной файл конфигурации для PyTest. Он должен находиться в корневой директории проекта. В этом файле можно определить различные параметры, которые будут использоваться при запуске тестов.

Пример содержимого pytest.ini:

[pytest]
addopts = --maxfail=2 -v
testpaths = tests
  • [pytest]: Указывает, что это секция для PyTest.
  • addopts: Дополнительные параметры командной строки, которые будут применяться при каждом запуске тестов. В данном примере --maxfail=2 останавливает тестирование после двух неудачных тестов, а -v включает подробный вывод.
  • testpaths: Указывает директорию, в которой находятся тесты. Здесь это папка tests.

pyproject.toml

pyproject.toml — это файл конфигурации, который может содержать настройки для различных инструментов, включая PyTest. Он также находится в корневой директории проекта и используется для управления зависимостями и конфигурацией проекта.

Пример содержимого pyproject.toml:

[tool.pytest.ini_options]
addopts = "--maxfail=2 -v"
testpaths = ["tests"]
  • [tool.pytest.ini_options]: Указывает, что это секция для настроек PyTest.
  • addopts и testpaths: Аналогичны параметрам в pytest.ini, но записаны в формате TOML.

setup.cfg

setup.cfg — это файл конфигурации, который используется для настройки пакетов Python. Он может содержать секцию для PyTest, чтобы определить параметры тестирования.

Пример содержимого setup.cfg:

[tool:pytest]
addopts = --maxfail=2 -v
testpaths = tests
  • [tool:pytest]: Указывает, что это секция для PyTest в setup.cfg.
  • addopts и testpaths: Определяют параметры тестирования, аналогичные тем, что в pytest.ini.

Зачем это нужно

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

Тема: PyTest
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки