Je suis en train de développer une application Rails, et je parlais juste avec mon collègue que nous avons un mélange d'appareils et de simulacres dans nos tests, que nous faisons en utilisant du concombre et Rspec. La question serait: quand chacun devrait-il être utilisé?Rails Fixtures vs Mocks
Répondre
Je voudrais utiliser un objet fantaisie lorsque l'utilisation de l'objet réel est impraticable/pas nécessaire. Disons par exemple que vous avez besoin d'appeler une API distante comme un localisateur d'adresses via le code postal. Vous voudrez probablement vous moquer de l'objet afin que les appels ne soient pas effectués à chaque fois que vous exécutez vos tests. Il y a aussi d'autres raisons, telles que l'amélioration de la vitesse, la demande de données qui changent là où vous avez besoin d'une réponse exacte ou peut-être que ça n'existe pas encore. Il vous permet de tester les choses isolément car vous pouvez déterminer que lorsque vous appelez ces méthodes sur cet objet fantôme, vous récupérerez et vous n'aurez pas besoin d'exécuter le code car ce test n'est pas important. Si vous utilisez des fixtures, vous aurez un vrai objet et les méthodes etc seront appelées et leur code sera exécuté, à moins bien sûr que vous ne supprimiez les méthodes, ce qui est quelque chose pour une autre question.
Espérons que cela aide un peu. Il y a un bon peepcode (http://peepcode.com/products/rspec-mocks-and-models) sur moqueur et talonnage, peut-être vérifier.
merci. vous l'avez expliqué très clairement. – Anand
- 1. RhinoMock: Mocks vs StrictMocks vs DynamicMocks
- 2. Rails fixtures - comment définir les clés étrangères?
- 3. Rails fixtures - définir un nom de table?
- 4. Rhino Mocks vs Moq pour Silverlight
- 5. Rails Foxy Fixtures lancer erreur de colonne inconnue
- 6. Rails Rake MySql Autoincrement Problème w db: fixtures: load
- 7. multiples références dans Fixtures Doctrine
- 8. Django Fixtures Erreur: Unknown Applicaiton
- 9. Django, relations génériques, faire fixtures
- 10. Cocos 2d body & its fixtures
- 11. Sinatra vs Rails
- 12. Rails nouveau vs créer
- 13. Rails vs Django déploiement
- 14. rails collection_select vs select
- 15. Traitement du courrier: rails vs php vs perl vs?
- 16. Ruby on Rails et db: fixtures: load - peut-il ignorer certains modèles?
- 17. Les bases de données permettent de mauvaises clés étrangères des Rails Fixtures
- 18. Rails 3: RJS vs JavaScript
- 19. Ruby on Rails vs Django
- 20. rails memcache dev vs production
- 21. Ruby fixtures erreur avec la colonne de mot de passe
- 22. Rhino Mocks & Compact Framework
- 23. Rhino Mocks - Stub Singleton
- 24. Unity Nunit & Rhino Mocks
- 25. rhinocéros mocks avec singleton
- 26. Rhino Mocks: Mocking HttpRequestBase.Files
- 27. Rails Vs Rails 3 2.3.4 + Livre - Débutant à RoR
- 28. rhino-mocks - bon exemple d'applications
- 29. Rhino Mocks - Utilisation de Arg.Matches
- 30. Rhino Mocks, void et propriétés
hors sujet, mais une très belle alternative aux appareils est factory_girl (peut être utilisé côte à côte avec des appareils aussi) http://github.com/thoughtbot/factory_girl#readme et voici une présentation sur utilisation http://railscasts.com/episodes/158-factories-not-fixtures – house9