Организация тестов

Зачем нужен conftest.py?

подробнее

conftest.py - это локальный плагин pytest, который автоматически подхватывается для каталога в котором лежит и для всех его подкаталогов. В нем обычно держат фикстуры, хуки, свои CLI-опции, общие для этой группы тестов настройки и прочее.

Важно отметить, что этот файл не импортируется из тестов напрямую - pytest подгружает его самостоятельно. Но в целом никто не мешает держать свои фикстуры и функции в отдельном модуле и импортировать вручную.

Структура проекта с тестами

подробнее

Пример структуры проекта с тестами

project/
├─ src/ # исходный код (опционально)
├─ tests/ # Все тесты здесь
│  ├─ smoke/
│  │  ├─ conftest.py # фикстуры/хуки для tests/smoke/
│  │  └─ test_smoke.py
│  ├─ api/
│  │  └─ test_api.py
│  ├─ test_other.py
│  └─ conftest.py # Общие фикстуры/хуки для tests/
└─ pytest.ini # Конфигурация pytest