Я использую консоль rails в среде разработки и хочу использовать фабрики. Как я могу получить к ним доступ?
Я пробовал, require "FactoryGirl"что возвращается
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
Я использую консоль rails в среде разработки и хочу использовать фабрики. Как я могу получить к ним доступ?
Я пробовал, require "FactoryGirl"что возвращается
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
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'.