Фикстуры в тестировании — это подготовительные действия, которые создают необходимое состояние для выполнения теста. Они выполняются перед запуском теста, чтобы обеспечить стабильную и предсказуемую среду. Например, фикстура может создавать тестовые данные, настраивать окружение или инициализировать объекты.
Что такое фикстура в PyTest? Из каких частей состоит (setup/teardown через yield)? Какие аргументы у фикстуры?
Фикстуры в тестировании — это подготовительные действия, которые создают необходимое состояние для выполнения теста.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Фикстуры в тестировании — это подготовительные действия, которые создают необходимое состояние для выполнения теста. Они выполняются перед запуском теста, чтобы обеспечить стабильную и предсказуемую среду. Например, фикстура может создавать тестовые данные, настраивать окружение или инициализировать объекты.
В большинстве тестовых фреймворков фикстуры выполняются в методах с аннотациями вроде @Before или setup(), которые запускаются перед каждым тестом или перед набором тестов. После теста часто выполняются методы очистки (например, @After), чтобы вернуть систему в исходное состояние.
Пример на Python с использованием pytest:
import pytest
@pytest.fixture
def setup_data():
data = {'user': 'test', 'password': '1234'}
return data
def test_login(setup_data):
assert setup_data['user'] == 'test'
Здесь фикстура setup_data создаёт данные, которые используются в тесте.