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

Фикстура с yield

Вопрос

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

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

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

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

Коротко

Правильный ответ: Выполняется после теста, даже если тест упал. Фикстура-генератор отдаёт значение через yield, тест выполняется, а потом pytest продолжает генератор: код после yield работает как teardown.

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

  1. Выполняется после теста, даже если тест упалправильный ответ
  2. Выполняется перед тестом как подготовка
  3. Не выполняется никогда, yield завершает фикстуру
  4. Выполняется только если тест прошёл успешно

Разбор

Фикстура-генератор отдаёт значение через yield, тест выполняется, а потом pytest продолжает генератор: код после yield работает как teardown. Он вызывается и при падении теста, поэтому туда кладут удаление данных, закрытие соединений, откат транзакций.

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

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

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