Dans les spécifications de mon contrôleur, je bloque la validation? pour certains tests de routage, (basé sur Ryan Bates nifty_scaffold) comme suit: -Existe-t-il un moyen de défaire le moka stubbing de any_instance?
it "create action should render new template when model is invalid" do
Company.any_instance.stubs(:valid?).returns(false)
post :create
response.should render_template(:new)
end
Ceci est bien quand je teste les contrôleurs en vase clos. J'ai également ce qui suit dans mon modèle de spécification
it "is valid with valid attributes" do
@company.should be_valid
end
Encore une fois cela fonctionne bien lorsqu'il est testé en isolement. Le problème vient si je cours spec pour les deux modèles et contrôleurs. Le test du modèle échoue toujours comme valide? méthode a été écrasée. Y a-t-il un moyen pour moi de supprimer le stubbing de any_instance lorsque le test du contrôleur est détruit. J'ai contourné le problème en exécutant les tests dans l'ordre alphabétique inverse pour m'assurer que les tests du modèle s'exécutent avant les contrôleurs mais je n'aime vraiment pas que mes tests dépendent de la séquence.
Bien que la solution soit correcte, l'explication ne l'est pas. Moka ne détecte pas RSpec, mais lorsque la configuration RSpec est définie comme décrit, RSpec invoque Moka aux points appropriés. –
Mise à jour du commentaire. Merci @floehopper –