Я использую консоль rails в среде разработки и хочу использовать фабрики. Как я могу получить к ним доступ?
Я пробовал, require "FactoryGirl"
что возвращается
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
ruby-on-rails
factory-bot
Эрик Болдуин
источник
источник
rails c
затем сделатьrequire 'factory_bot'
Ответы:
Чтобы решить эту проблему, убедитесь, что заводской бот-гем указан в вашем Gemfile аналогично этому
group :development, :test do gem 'factory_bot_rails' end
Тогда
bundle install
.Это должно сделать класс FactoryBot доступным в консоли разработки.
Надеюсь это поможет.
источник
gem 'factory_girl_rails', :require => false
вызовет ошибки у всех, кто пытается настроить среду разработки с нуля, будьте осторожны.rails console test
: он позволит вам создать консоль в тестовой среде, поэтому вам не нужно обновлять Gemfile, чтобы использовать тестовый пакет в среде разработки,Я делаю это следующим образом:
Запустите консоль rails в тестовой среде в режиме песочницы.
rails console -e test --sandbox
Вам это нужно по двум причинам:
Затем в консоли:
Требуется FactoryBot (назывался FactoryGirl):
require 'factory_bot'
Загрузите заводские определения:
FactoryBot.find_definitions
Включите методы FactoryBot, чтобы избежать префикса всех вызовов FB с
FactoryBot
(create
вместоFactoryBot.create
):include FactoryBot::Syntax::Methods
PS Для изготовления гема вы можете загрузить определения в консоль рельсов с помощью:
Fabrication.manager.load_definitions
Также,
require 'faker'
если вы его используете.источник
require 'ffaker'
?fixture_file_upload
проблемой неопределенного метода , которая была вызвана отсутствиемActionDispatch::TestProcess
модуля, поэтому вы можете подумать о том, чтобы включить его такжеrequire "factory_bot_rails"; include FactoryBot::Syntax::Methods; require 'ffaker'
rails c -e test --sandbox
Вам нужно
require 'factory_bot_rails'
, а это настоящий гем, который используется Rails. Этот драгоценный камень будет включать в себя библиотеку Factory Bot, которая станетFactoryBot
доступной.Вы можете сделать это или обновить свой Gemfile, чтобы он требовался при запуске, как в ответе баранины.
источник
require 'faker'
.