Перейти к содержимому

Фотография

Создание заглушек для тестов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 BoBuS

BoBuS

    Активный участник

  • Members
  • PipPip
  • 83 сообщений
  • Город:Москва


Отправлено 23 декабря 2011 - 09:06

Пример, есть форма создания и есть форма редактирования. Один тест реализует создание записи. Другой редактирование записи.
Для второго теста нужна уже созданная запись, либо эту запись нужно создать. Создавать запись долго. А брать созданную, встает вопрос "а какую".
Есть такое понятие как заглушки. Как это лучше реализовать, как вы это реализовываете на selenium?
  • 0

#2 Skuayer

Skuayer

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • ФИО:Жуков Анатолий Викторович
  • Город:Санкт-Петербург

Отправлено 23 декабря 2011 - 09:25

написать скрипт, который будет создавать в базе нужные записи вам. это будет быстрее, чем через селениум.

мы так решали подобные вопросы, перед тестом генерятся нужные аккаунты с тестовыми данными, на которых происходит тестирование.
  • 0

#3 BoBuS

BoBuS

    Активный участник

  • Members
  • PipPip
  • 83 сообщений
  • Город:Москва


Отправлено 23 декабря 2011 - 11:37

Спасибо за ответ.
Кто-нибудь использует mock объекты для этого?
  • 0

#4 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 23 декабря 2011 - 11:56

У нас используется примерно такая схема. Есть понятие требований к объекту со стороны теста, они выражаются проставлением объекту свойств которые нужны, остальные свойства null, получается как бы шаблон. Потом из этого объекта создаётся Hibernate'овый example и запрашивается первый подходящий под критерии объект из базы, он блокируется (не на уровне SQL конечно) и используется запросившим тестом эксклюзивно, после завершения освобождается. Если подходящий объект не найден, то он создаётся (методы зовутся #findOrCreate), поля которые были null при этом заполняются случайными валидными данными.

Таким образом тест просто предъявляет требования к объекту который хочет использовать и так или иначе получает его. В процессе прогона тестов на почти пустой базе подходящих разным тестам объектов становится больше и скорость выполнения тестов постоянно растёт.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных