Выбор ответа Junior Тестирование и pytest спрашивают часто обновлено
Фикстура с yield
Вопрос
Что делает код после yield в фикстуре pytest?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Выполняется после теста, даже если тест упал. Фикстура-генератор отдаёт значение через yield, тест выполняется, а потом pytest продолжает генератор: код после yield работает как teardown.
Варианты ответа
- Выполняется после теста, даже если тест упалправильный ответ
- Выполняется перед тестом как подготовка
- Не выполняется никогда,
yieldзавершает фикстуру - Выполняется только если тест прошёл успешно
Разбор
Фикстура-генератор отдаёт значение через yield, тест выполняется, а потом pytest продолжает генератор: код после yield работает как teardown. Он вызывается и при падении теста, поэтому туда кладут удаление данных, закрытие соединений, откат транзакций.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.