Как мне поступить в отношении заводского использования в целях тестирования? - PullRequest
0 голосов
/ 20 сентября 2011

Я использую Ruby on Rails 3.0.9, RSpect 2 и FactoryGirl. Я хотел бы знать, как мне поступить в моем случае, связанном с заводским использованием для целей тестирования.

Я заполнил базу данных (используя файл /db/seed.rb) некоторыми данными, которые необходимы для инициализации приложения. Теперь у меня проблемы, потому что я реализовал \ создал несколько фабрик, и когда я их создаю (например: Factory(:user), Factory(:user_authorization), ...), они "объединяются" с данными, содержащимися в базе данных.

Итак, вопрос в следующем: следует ли мне использовать фабрики исключительно (то есть использовать только заводские данные без учета данных тестовой базы данных) или я могу использовать те, которые находятся в «сочетании» с посеянными данными в базе данных? То есть, следует ли мне также учитывать данные, заполненные базой данных, или я должен реализовать \ эмулировать все посеянные данные с фабриками?

Ответы [ 2 ]

0 голосов
/ 21 сентября 2011

В своих проектах я использую заполнение для данных, которые действительно необходимы моему приложению.Например, первый пользователь (admin), доменные таблицы, ... Для этих целей я не использую фабрики.

Во-вторых, я использую фабрики во время тестирования для имитации любых данных, которые должны присутствовать.

Вмое мнение, что они сосуществуют отлично.Я использую фабрики, когда содержание данных на самом деле не так важно (должен быть какой-то пользователь, какой-то пост, какой-то комментарий ...), но с заполнением фактических данных в базе данных очень важно, и если ябудет использовать фабрики для этого, я все равно буду переопределять каждый атрибут, поэтому для меня не будет никакой пользы от использования фабрики.

Надеюсь, это поможет.

0 голосов
/ 20 сентября 2011

Вы можете использовать factory_girl внутри seed.rb.Этот пост объясняет это немного больше.http://xtargets.com/2011/02/06/seeding-your-rails-db-with-factory-girl/

...