По порядку Middle Тестирование и pytest обновлено
Жизненный цикл фикстуры с yield
Вопрос
Расставьте по порядку, что происходит при запуске теста, использующего фикстуру db_user (function scope) с yield.
Попробуйте сами
Расставьте шаги по порядку стрелками.
- 1Результат теста попадает в отчёт
- 2Значение из
yieldпередаётся в аргумент теста - 3pytest вызывает фикстуру и выполняет код до
yield - 4Выполняется тело теста
- 5pytest продолжает фикстуру: выполняется код после
yield
Показать ответ и разбор
Коротко
Код до yield это setup, после yield это teardown, который выполняется и при падении теста. Статус теста фиксируется после завершения всех его фаз.
Правильный порядок
- 1pytest вызывает фикстуру и выполняет код до
yield - 2Значение из
yieldпередаётся в аргумент теста - 3Выполняется тело теста
- 4pytest продолжает фикстуру: выполняется код после
yield - 5Результат теста попадает в отчёт
Разбор
Код до yield это setup, после yield это teardown, который выполняется и при падении теста. Статус теста фиксируется после завершения всех его фаз.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.