Estou usando console rails no ambiente de desenvolvimento e quero usar fábricas. Como posso ter acesso a eles?
Eu tentei o require "FactoryGirl"
que retorna
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
ruby-on-rails
factory-bot
Eric Baldwin
fonte
fonte
rails c
e fazer umrequire 'factory_bot'
Respostas:
Para resolver este problema, certifique-se de que a gem do bot de fábrica é especificada em seu Gemfile semelhante a este
Então
bundle install
.Isso deve tornar a classe FactoryBot disponível no console de desenvolvimento.
Espero que isto ajude.
fonte
gem 'factory_girl_rails', :require => false
irá gerar erros para qualquer um que tentar configurar o ambiente de desenvolvimento do zero.rails console test
, ela permitirá que você crie um console no ambiente de teste para que você não precise atualizar seu Gemfile para usar um pacote de teste no ambiente de desenvolvimentoEu faço isso da seguinte maneira:
Inicie o console do Rails no ambiente de teste no modo sandbox.
Você precisa disso por dois motivos:
Em seguida, no console:
Requer FactoryBot (era chamado de FactoryGirl):
Carregue as definições de fábrica:
Inclua os métodos FactoryBot para evitar prefixar todas as chamadas ao FB com
FactoryBot
(emcreate
vez deFactoryBot.create
):PS Para joia de fabricação, você pode carregar as definições no console do trilho com:
Também
require 'faker'
se você usar.fonte
require 'ffaker'
?fixture_file_upload
problema de método indefinido , que foi causado pela ausência doActionDispatch::TestProcess
módulo, então você pode considerar incluí-lo tambémrequire "factory_bot_rails"; include FactoryBot::Syntax::Methods; require 'ffaker'
rails c -e test --sandbox
Você precisa
require 'factory_bot_rails'
, que é a verdadeira jóia que está sendo usada pelo Rails. Essa joia incluirá a biblioteca do Factory Bot,FactoryBot
disponibilizando.Você pode fazer isso ou atualizar seu Gemfile para exigi-lo na inicialização, como na resposta de muttonlamb.
fonte
require 'faker'
.