Как использовать фабрики от FactoryGirl в консоли rails
Я использую консоль rails в среде разработки, и я хочу использовать фабрики. Как я могу получить к ним доступ?
Я пробовал require "FactoryGirl" возвращает
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
3 ответа:
чтобы решить эту проблему, убедитесь, что заводской бот gem указан в вашем Gemfile аналогично этому
group :development, :test do gem 'factory_bot_rails' endзатем
bundle install.это должно сделать класс FactoryBot доступным в консоли разработки.
надеюсь, что это помогает.
Я делаю это следующим образом:
запустите консоль rails в тестовой среде в режиме песочницы.
rails console test --sandboxвам это нужно по двум причинам:
- любые изменения не откатываются.
- если у вас уже есть некоторые исходные данные, может случиться так, что фабрики начнут сериализацию атрибутов с 1, но эти записи могут уже существовать.
затем в консоль:
требуется FactoryBot (называлась FactoryGirl):
require 'factory_bot'загрузите заводские определения:
FactoryBot.find_definitionsвключите методы FactoryBot, чтобы избежать префикса всех вызовов FB с
FactoryBot(createвместоFactoryBot.create):include FactoryBot::Syntax::MethodsP. S. Для изготовление вы можете загрузить определения в консоли rails с:
Fabrication.manager.load_definitionsи
require 'faker'если вы используете его.
вам нужно
require 'factory_girl_rails', который является фактическим драгоценным камнем, который используется рельсами. Эта жемчужина будет включать в себя библиотеку Factory Girl, что делает FactoryGirl доступной.вы можете либо сделать это, либо обновить свой Gemfile, чтобы потребовать его при запуске, как в ответе muttonlamb.