Выбор ответа Senior pytest и фикстуры обновлено
Порядок создания фикстур
Вопрос
Тест запрашивает def test_x(page, api_client), где page со скоупом function, а api_client со скоупом session, и между ними нет зависимостей. Какая фикстура создаётся первой?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: apiclient: фикстуры широкого скоупа создаются раньше. pytest сначала создаёт фикстуры более широкого скоупа (session, затем package, module, class, function).
Варианты ответа
page, потому что она стоит первой в списке аргументов- Порядок случайный и меняется от запуска к запуску
api_client: фикстуры широкого скоупа создаются раньшеправильный ответ- Обе одновременно, pytest создаёт их в разных потоках
Разбор
pytest сначала создаёт фикстуры более широкого скоупа (session, затем package, module, class, function). Порядок аргументов важен только среди фикстур одного скоупа без зависимостей. Параллельно в потоках фикстуры не создаются.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.