J'utilise la console Rails dans l'environnement de développement et je souhaite utiliser des usines. Comment puis-je y accéder?
J'ai essayé require "FactoryGirl"
qui renvoie
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
Pour résoudre ce problème, assurez-vous que la gemme du bot d'usine est spécifiée dans votre Gemfile de la même manière.
group :development, :test do
gem 'factory_bot_Rails'
end
Ensuite bundle install
.
Cela devrait rendre la classe FactoryBot disponible dans la console de développement.
J'espère que cela t'aides.
Je le fais de la manière suivante:
Démarrez la console Rails dans l'environnement de test en mode sandbox).
Rails console test --sandbox
Vous en avez besoin pour deux raisons:
Puis dans la console:
Nécessite FactoryBot (s'appelait FactoryGirl):
require 'factory_bot'
Chargez les définitions d'usine:
FactoryBot.find_definitions
Incluez les méthodes FactoryBot pour éviter de préfixer tous les appels à FB avec FactoryBot
(create
au lieu de FactoryBot.create
):
include FactoryBot::Syntax::Methods
P.S. Pour fabrication gem vous pouvez charger les définitions dans la console Rails avec:
Fabrication.manager.load_definitions
Également require 'faker'
si vous l'utilisez.
Tu dois require 'factory_girl_Rails'
, qui est le véritable joyau utilisé par Rails. Ce joyau comprendra la bibliothèque Factory Girl, rendant FactoryGirl disponible.
Vous pouvez le faire ou mettre à jour votre Gemfile pour l'exiger au démarrage comme dans la réponse de muttonlamb.