Выбор ответа Senior Page Object и архитектура обновлено

Билдер тестовых данных

Вопрос

Зачем нужен билдер тестовых данных с значениями по умолчанию, например build_user(role="admin")?

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

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

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

Коротко

Правильный ответ: Тест задаёт важные для него поля, остальное валидно по умолчанию. Билдер делает намерение теста явным: видно, что важна роль, а не имя и телефон.

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

  1. Чтобы все тесты использовали одного и того же подготовленного пользователя
  2. Чтобы не создавать данные в базе: билдер подставляет объект в память API
  3. Чтобы данные генерировались случайно и каждый запуск был непохож на прошлый
  4. Тест задаёт важные для него поля, остальное валидно по умолчаниюправильный ответ

Разбор

Билдер делает намерение теста явным: видно, что важна роль, а не имя и телефон. Когда в модель добавят обязательное поле, достаточно поправить билдер. Он не заменяет создание в базе (это делает API-клиент или фабрика), не делает пользователя общим и может использовать случайные значения с фиксированным seed.

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

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

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