Где и как настраивается 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.
Зачем это нужно
Конфигурационные файлы позволяют централизованно управлять параметрами тестирования, что упрощает процесс запуска тестов и делает его более предсказуемым. Это особенно полезно в больших проектах, где требуется согласованность в подходах к тестированию. Использование этих файлов также облегчает интеграцию с системами непрерывной интеграции и другими инструментами разработки.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться