Données factices avec une fille d'usine
-
28-10-2019 - |
Question
Comment puis-je configurer des données factices avec FactoryGirl?
Existe-t-il un moyen de configurer des données factices avec une usine dans mon environnement de développement intégré?
La solution
J'écris un scribt de semence pour résoudre mon problème:
Dans /db/seed.rb, j'ai implémenté Factory_Girl et utiliser un fichier CSV pour définir des données personnalisées.
Seed.rb:
require 'factory_girl'
require 'csv'
CSV.foreach(Rails.root.join("datas.csv"), headers: true) do |row|
post = FactoryGirl.create(:post) do |post|
post.text = row[0]
end
end
Si vous souhaitez associer des modèles à vos données de test, vous pouvez utiliser FactoryGirl pour créer des objets associés:
CSV.foreach(Rails.root.join("post_comments.csv"), headers: true) do |row|
Post.all.each do |post|
FactoryGirl.create(:comment, post: post) do |comment|
comment.name = row[0]
end
end
end
Vous pouvez également utiliser le premier CSV SCRIBT et implémenter une usine qui créent des commentaires pour chaque publication.
Factorygirl.create (: post_with_comments)
Vous pouvez maintenant utiliser FactoryGirl pour créer des enregistrements X pour tester les données avec CSV.