2015-04-06 6 views
1

Если мне просто нужна базовая модель, есть ли разница в создании модели непосредственно против создания модели с заводской девушкой?Заменяет ли фабричная девушка модель?

I.E.

User.new(..all the correct params) 

против

Factory.create :user 

Мой окончательный вопрос:

При тестировании контроллер делает создание модели непосредственно сделать тест менее надежен?

ответ

1

Нет большой разницы. Вы можете создать новый объект напрямую. Однако заводская девушка может иметь дело с ассоциациями, и вы обычно помещаете туда некоторые данные по умолчанию, чтобы вам было проще.

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

Вот почему-то хорошая практика, чтобы использовать на заводе-девочка

+0

Спасибо за ваше время! Это хороший вопрос о добавлении атрибутов. Так что Фабричные Девушки определяют способ пойти тогда. –

0

Создание нового объекта через Factory Девочка делает тест более надежным путем сушки ваш код. Например, если позже вы решите добавить новый атрибут в таблицу users, у вас есть только 1 место для обновления этого атрибута. Если вы будете использовать User.new (....), вам нужно будет пойти и выследить всех из ваших тестовых файлов, чтобы обновить это изменение.

+0

Спасибо за ваше время. Да, фактор сухого фактора и коэффициента повторного использования кода делает его способом. –