Как использовать фабрики от 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::Methods
P. S. Для изготовление вы можете загрузить определения в консоли rails с:
Fabrication.manager.load_definitions
и
require 'faker'
если вы используете его.
вам нужно
require 'factory_girl_rails'
, который является фактическим драгоценным камнем, который используется рельсами. Эта жемчужина будет включать в себя библиотеку Factory Girl, что делает FactoryGirl доступной.вы можете либо сделать это, либо обновить свой Gemfile, чтобы потребовать его при запуске, как в ответе muttonlamb.