J'ai une grande liste d'enregistrement (quelque chose comme 20, pourrait être plus) avec un has_many: à travers les relations, ce qui est un peu compliqué et il semble moche sur yml. Factory_girl ne semble pas me donner la capacité simpliste de créer simplement le projecteur avec un script AR (c'est beaucoup plus court de cette façon) toute bonne recommandation sur ce que je pourrais faire?Création d'objets batch Rails pour l'appareil?
Répondre
Vous pouvez ré-ouvrir votre modèle dans votre fichier d'usines et ajouter une méthode pour créer les enregistrements de test. Quelque chose comme:
class User
after_create :create_records_for_testing
def create_records_for_testing
# code to create records
end
end
Bien sûr, cela pourrait causer de la confusion sur la route parce que le modèle que vous testez ne se comporte pas le même que le modèle que vous utilisez dans votre application. Peut-être qu'il y a un meilleur moyen?
Ne pas modifier le singe! Utilisez Factory Girl! (Elle est douce):
Factory.define(:user) do |t|
t.factory { |a| a.assocation(:factory) }
end
Factory.define(:factory) do |t|
t.name "Test Factory"
end
Dans nos spécifications font ceci:
before(:each) do
@factory = Factory(:factory)
20.times do
Factory(:user, :factory => @factory)
end
end
Vous pouvez également utiliser les séquences de Factory Girl pour générer des noms d'usine uniques, ou ajouter des noms d'utilisateur et similaires facilement. – Ariejan
- 1. Création d'un fichier batch pour sauvegarder un dossier spécifié
- 2. Création de formulaires dans Rails
- 3. fichier batch pour/f extension
- 4. Création de formulaires pour les données relationnelles dans Rails
- 5. Création d'un raccourci pour un exe à partir d'un fichier batch
- 6. création d'objets nichés JSON dans Rails
- 7. problème dans la création routes.rb rails
- 8. fichier batch équivalent pour ce code
- 9. Arrêt de Rails pour Rails
- 10. Worldship Batch Import
- 11. Création de PI xml-stylesheet avec Rails XMLBuilder
- 12. Création et test d'un enregistrement par défaut dans Rails
- 13. Fichiers batch, $: et ~
- 14. Insert SubSonic Batch
- 15. Fichier batch interactif
- 16. Création d'enregistrements d'héritage de table unique dans les rails
- 17. Création d'une application facebook de base avec Rails
- 18. Création de pages non standard avec Ruby on Rails
- 19. Tutoriel pour la création de modèles de rails et d'échafaudages avec des relations de clés étrangères
- 20. Création d'un formulaire pour un nouvel objet associé à l'aide de l'imbrication du modèle Rails 2.3
- 21. Utiliser Microsoft SMS Sender pour envoyer des smses en batch?
- 22. Batch Scripting, Pour l'utilisation des résultats d'un répertoire
- 23. Variables dans le fichier batch Windows effectif pour le déploiement?
- 24. fichier batch pour afficher la taille des répertoires
- 25. Script batch pour envoyer des commandes à mySQL db?
- 26. Meilleure ressource gratuite pour apprendre l'utilisation avancée des fichiers batch?
- 27. Comment faire pour arrêter le script batch sur l'échec
- 28. comment écrire un fichier batch pour formater Excel?
- 29. Vista batch pour l'exécution de l'application jours impairs
- 30. Utiliser Microsoft SMS Sender pour envoyer des smses en batch?
Ceci est très mal! Vous pouvez également modifier d'autres pars dans votre modèle d'utilisateur et interrompre tous les tests du système (ou les faire tous passer quand ils ne le devraient pas). Ne pas singe-patch nos modèles pour les tests! – Ariejan
Une meilleure idée pourrait être d'utiliser quelque chose comme ce patch pour Factory Girl: http://stackoverflow.com/questions/1506556/hasmany-while-respecting-strategy-in-factorygirl – eremite