Je trouve des trous dans ma couverture parce que je me moquais de mes modèles dans les exemples de contrôleurs. Lorsque je supprime la méthode d'un modèle dont dépend un contrôleur, je n'obtiens pas d'échec. Venant de TDD dans les langages statiquement typés, je moque toujours les dépendances à l'objet sous test qui frappe la base de données pour augmenter la vitesse. J'obtiendrais toujours des échecs dans l'exemple ci-dessus, puisque mes mocks ont sous-classé l'objet original. Je suis à la recherche de bonnes pratiques dans une langue dynamique.Dois-je me moquer de mon modèle dans les tests du contrôleur de rails?
Merci.
MISE À JOUR:
Après avoir beaucoup d'opinions contradictoires sur ce point, il semble que cela se résume à la philosophie que vous achetez en.
La communauté Rspec semble adopter des dépendances fortement stubbing pour isoler l'objet testé. Les tests d'acceptation (traditionnellement connus sous le nom de tests d'intégration;) sont utilisés pour garantir que vos objets fonctionnent avec leurs dépendances d'exécution.
La communauté shoulda/Test :: Unit semble rester à l'écart du stubbing autant que possible. Cela permet à vos tests de confirmer que votre objet testé fonctionne réellement avec ses dépendances.
Cette vidéo résume ce bien: http://vimeo.com/3296561
Comment pouvez-vous résoudre le manque de couverture? Je sais que je peux le faire avec des tests d'intégration, mais j'ai l'impression que mon test d'unité devrait également révéler ces problèmes. – Lee