J'ai 2 modèles, dans et j'ai un module login_user comme suit: p> utilisateur code> et
godets code>.
utilisateur code>
has_many code>
gaux code> et a
godet code>
appartient à l'utilisateur code> A code> >.
usines.rb code>, j'ai: p>
bucket.association :user
3 Réponses :
Essayez ceci dans votre usine d'utilisateur:
rake db:test:prepare
Merci. J'ai essayé tout ça sans succès. Cependant, je crois que j'ai trouvé le problème mais je ne suis pas sûr que cela a du sens. Ici, ça va: Quand je crée un seau (qui est associé à un utilisateur), je ne passe pas l'utilisateur, donc si je fais l'usine (: seau,: utilisateur => user.first), cela fonctionnera. Logique?
Oui, ça aurait un sens. J'ai eu des associations comme celle-ci où je dois créer une association valide pour que l'autre modèle soit testé.
Merci! C'était une grande aide!
Lorsque vous définissez une usine avec une association, vous devez donner à l'usine un objet à associer à chaque fois que vous utilisez l'usine.
Ceci devrait fonctionner: P>
describe "User authenticated: " do login_user @bucket = Factory(:bucket, :user => @user) it "should get index" do get 'index' response.should be_success end end
Si quelqu'un obtient cela récemment avec votre point de vue. Essayez d'utiliser Nettoyant de base de données . P>
Pour plus d'informations: RailStyputial - Chapitre 8.4.3 - Base de données de test Ne pas effacement après ajout de l'utilisateur en test d'intégration p>