Что такое fixture в pytest и зачем она нужна?

QAAQA Python Engineer MiddlepytestТеорияpytestfixturepythonaqa

Что хотят услышать интервьюеры:

Коротко: Fixture в pytest подготавливает и освобождает состояние теста: данные, клиент API, браузер, пользователя, подключение к БД.

Ответ:

Пример: Можно создать fixture

api_client

, чтобы не инициализировать клиента в каждом тесте.

Что проверить:

  • setup
  • teardown
  • scope
  • переиспользование
  • изоляция
  • читаемость

Мини-пример:

@pytest.fixture<br>def api_client():<br>    return Client(base_url='https://example.test')

Типичная ошибка: делать слишком большую fixture, которая скрывает бизнес-смысл теста и усложняет отладку.

Как отвечать на собеседовании: покажите, что fixture помогает переиспользовать setup/teardown и управлять scope.

Источники

Похожие вопросы