2012-01-16 9 views
0

Comment puis-je configurer des données factices avec FactoryGirl?Données factices avec Factory Girl

Existe-t-il un moyen de configurer des données fictives avec une usine dans mon environnement de développement intégré?

Répondre

3

J'écris un scribt de semences pour résoudre mon problème:

dans /db/seed.rb i mis en œuvre factory_girl et utiliser un fichier csv pour définir 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 avec vos données de test que 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ée des commentaires pour chaque publication.

FactoryGirl.create (: post_with_comments)

Vous pouvez maintenant utiliser factorygirl pour créer des enregistrements de x pour données de test avec csv.

+1

pourriez-vous partager plus de détails sur votre technique. J'ai un CSV de cas de test (entrées et sorties) que je voudrais utiliser via FactoryGirl. – danv

Questions connexes