FactoryGirl ne définit pas mon attribut protégé Je peux faire un user.confirmed code>. Quelle est la meilleure pratique ici?
@ user.confirmed = true code> après avoir utilisé mon usine, mais c'est beaucoup de répétition sur beaucoup de tests . p> p>
3 Réponses :
Vous devriez le transmettre dans le hachage lorsque vous créez l'utilisateur puisque FactoryGirl la protège de la masse de masse.
user ||= Factory(:user, :confirmed => true)
Fonctionne pour moi sur FactoryGirl 2.1.0.
J'utilise 2.3.2, alors cela pourrait être, mais il semble peu probable
Utilisation d'un After_Create CODE> Hook travaux:
Super trouver. Plus récente de versions de Factory Girl a changé la syntaxe vers après (: Créer) code>. Voir Guide de démarrage
Une autre approche consiste à utiliser des rôles intégrés de rails comme celui-ci: Lorsque FactoryGirl FactoryGirl diffuse ce rôle, rendant ce modèle possible. P> Avantages: strong> garde les usines rapides, simples et propres (moins de code dans les rappels) Certaines suggestions non testées pour adresser le con: p>
inconvénients: strong> Vous modifiez votre code modèle pour vos tests :( p>