Python для продвинутых: ООП, типизация и тестированиеОткрытые материалыFixtures в pytest: подготовка данных и scope
Fixtures в pytest: подготовка данных и scope
Уроки курсаFixtures в pytest: подготовка данных и scope
Fixture в pytest создаёт данные или ресурс, необходимые тесту. Тест объявляет зависимость обычным параметром, а pytest находит одноимённую fixture и передаёт результат.
import pytest
@pytest.fixture
def user_payload():
return {"name": "Ada", "active": True}
def test_active_user(user_payload):
assert user_payload["active"] is True
Fixture удобнее ручного setup в каждом тесте: у неё есть явное имя, граф зависимостей и контролируемый жизненный цикл. Но fixture должна готовить состояние, а не прятать само проверяемое действие и assertion.
