Выбор ответа Junior pytest и фикстуры спрашивают часто обновлено

Зачем yield в фикстуре

Вопрос

Что даёт yield в фикстуре pytest?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Код после yield выполнится как teardown, даже если тест упал. Всё до yield это setup, значение после yield получает тест, всё после выполняется в teardown, в том числе при падении теста.

Варианты ответа

  1. Код после yield выполнится как teardown, даже если тест упалправильный ответ
  2. Фикстура становится асинхронной и может ждать корутины
  3. Фикстура создаётся один раз на сессию и переиспользуется
  4. Тест запускается в отдельном процессе с чистым окружением

Разбор

Всё до yield это setup, значение после yield получает тест, всё после выполняется в teardown, в том числе при падении теста. Асинхронность, скоуп и процессы задаются другими средствами.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме