Je n'ai jamais aimé écrire de faux-pas et il y a quelque temps, quelqu'un a recommandé d'utiliser FakeWeb. Je suis immédiatement tombé complètement amoureux de FakeWeb. Cependant, je me demande s'il y a un inconvénient à utiliser FakeWeb. Il semble que les simulacres sont encore beaucoup plus communs, donc je me demande ce qui me manque c'est faux d'utiliser FakeWeb à la place. Y a-t-il un certain type d'erreur que vous ne pouvez pas couvrir avec Fakeweb ou est-ce quelque chose à propos du processus TDD ou BDD?Les inconvénients de l'utilisation de FakeWeb par rapport à l'écriture de faux-semblants pour les tests
Répondre
Vous devriez jeter un oeil à WebMock http://github.com/bblimke/webmock
L'inconvénient de se moquant des requêtes http est le manque de protection contre les modifications de l'API à distance. Si le service HTTP distant change, et que votre code ne sera plus compatible, vos tests ne vous en informeront pas. Si vous vous moquez des méthodes client http, vous avez les mêmes problèmes. Il est bon d'avoir une suite de tests d'intégration qui vérifie que votre code peut encore parler au vrai service http. L'avantage de la bibliothèque comme FakeWeb ou WebMock est que vous pouvez vous concentrer sur l'implémentation du comportement au lieu de vous soucier des détails d'implémentation de la bibliothèque cliente http spécifique. Même si vous changez de bibliothèque de Net :: HTTP à RestClient par exemple, le comportement doit toujours être préservé pour que les tests soient toujours réussis. Si vous vous moquez du client http par vous-même, vous devez modifier les tests lorsque vous modifiez l'implémentation, même si le comportement n'a pas changé. L'utilisation de FakeWeb ou Webmock aide également avec TDD ou BDD (test en premier). Vous pouvez spécifier le comportement http avec des spécifications ou des tests, avant de vous soucier des détails d'implémentation d'un client http spécifique.
Vous serez probablement heureux avec VCR, qui est un wrapper autour des bibliothèques de moqueurs HTTP. Il met en cache les requêtes HTTP d'origine, afin que vos tests soient rapides et fonctionnent hors ligne, mais peut également être modifié pour exécuter à nouveau la demande d'origine, pour voir si le test fonctionne avec l'API distante.
- 1. Inconvénients de TestNG par rapport à jUnit?
- 2. Tests de pénétration par rapport à d'autres tests de sécurité
- 3. Quels sont les avantages/inconvénients de YSlow par rapport à Speed Tracer?
- 4. Quels sont les inconvénients de l'utilisation d'ANTLR par rapport à Flex/Bison?
- 5. Quels sont les principaux inconvénients de l'utilisation d'OpenOffice DB par rapport à Microsoft Access?
- 6. dactylographié par rapport à dactylographié rigoureusement quels sont les avantages et les inconvénients
- 7. Quels sont les avantages et les inconvénients de rspec moqueur par rapport à d'autres cadres de moquerie?
- 8. Inconvénients lors de l'utilisation de dotConnect pour Oracle par rapport à SQL Server?
- 9. Quels sont les avantages et les inconvénients du bouton d'abonnement récurrent de PayPal par rapport à leurs autres plans
- 10. Quels sont les avantages et les inconvénients d'une feuille de sprite par rapport à une séquence d'images?
- 11. Bibliothèque comme fakeweb pour Python
- 12. Quels sont les avantages de faire des tests unitaires par rapport à des «assertions» simples?
- 13. Quels avantages/inconvénients MSTest et NUnit ont-ils les uns par rapport aux autres?
- 14. Développement piloté par les tests: Rédaction de tests pour les variables privées/protégées
- 15. Quels sont les avantages et les inconvénients de l'utilisation d'OpenID?
- 16. Quels sont les avantages/inconvénients d'utiliser un synonyme par rapport à une vue?
- 17. Avantages et inconvénients de l'utilisation de sqlite3 par rapport à l'implémentation d'une table personnalisée
- 18. Quels sont les avantages/inconvénients de l'utilisation de SRVANY par rapport à la création d'un service Windows?
- 19. Avantages et inconvénients de l'utilisation de CCUIViewWrapper par rapport à une fonctionnalité portée
- 20. Considérations de conception pour les employés par rapport aux utilisateurs
- 21. Quelles sont les limitations de WPF par rapport à XNA?
- 22. Impossible de mettre à jour les rails has_many: par rapport
- 23. Quels sont les inconvénients de l'utilisation du débogueur Perl par rapport à un vrai REPL comme Devel :: REPL?
- 24. Quels sont les avantages de LePUS3 par rapport à UML?
- 25. Valider les tests pilotés par les données
- 26. JS SDK de Facebook par rapport à l'utilisation de getJSON de jQuery pour les appels d'API
- 27. Tests de régression pour les nuls
- 28. Les retours multiples par rapport à la sortie pour
- 29. avantages/inconvénients de différentes implémentations pour comparer les objets
- 30. Quels sont les avantages ou les inconvénients de l'utilisation de dbml pour les requêtes linq2sql?