Что такое fixture в pytest
Python
Middle
Без компании
Что такое fixture в pytest
Ответы
Фикстуры (fixtures) в pytest — это функции, которые выполняют подготовку данных или окружения для тестов и освобождают ресурсы после завершения. Они помогают избежать дублирования кода и делают тесты более читаемыми.
Основные особенности:
- Объявляются с декоратором `@pytest.fixture`
- Могут быть переданы в тест как аргумент
- Имеют область видимости (scope): `function` (по умолчанию), `class`, `module`, `session`
- Могут возвращать данные или выполнять setup/teardown операции
Пример:
```
import pytest
@pytest.fixture
def user():
# Setup
user = {"name": "Alice", "age": 25}
yield user # передача данных в тест
# Teardown
print("Тест завершен")
def test_user_age(user):
assert user["age"] == 25
```
Фикстуры поддерживают зависимости между собой, могут быть параметризованы и переопределены в отдельных модулях.