Как использовать фабрики из FactoryGirl в консоли rails
Я использую консоль rails в среде разработки, и я хочу использовать заводы. Как я могу получить к ним доступ?
Я пробовал require "FactoryGirl"
, который возвращает
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
Ответы
Ответ 1
Чтобы решить эту проблему, убедитесь, что gem файл factory указан в вашем Gemfile, подобном этому
group :development, :test do
gem 'factory_girl_rails'
end
Тогда bundle install
.
Это должно сделать класс FactoryGirl доступным в консоли разработчика.
Надеюсь, что это поможет.
Ответ 2
Я делаю это следующим образом:
Вам нужно это по двум причинам:
- Любые изменения, которые вы делаете, откатываются.
- Если у вас уже есть семенные данные, может случиться так, что фабрики начнут сериализацию атрибутов с 1, но эти записи могут уже существовать.
Затем в консоли:
-
Требовать FactoryGirl:
require 'factory_girl'
-
Загрузите определения factory:
FactoryGirl.find_definitions
-
Включите методы FactoryGirl, чтобы избежать префикса всех вызовов FG с помощью FactoryGirl
(create
вместо FactoryGirl.create
):
include FactoryGirl::Syntax::Methods
P.S. Для драгоценный камень вы можете загрузить определения в консоли rails с помощью:
Fabrication.manager.load_definitions
Также require 'faker'
, если вы его используете.
Ответ 3
Вам нужно require 'factory_girl_rails'
, который является фактическим драгоценным камнем, который используется Rails. Этот жемчуг будет включать библиотеку Factory Girl, что делает FactoryGirl доступной.
Вы можете либо сделать это, либо обновить свой Gemfile, чтобы потребовать его при запуске, как в ответе muttonlamb.