Nunca me gustó escribir burlas y hace un tiempo alguien me recomendó usar FakeWeb. Inmediatamente me enamoré completamente de FakeWeb. Sin embargo, tengo que preguntarme si hay un inconveniente al usar FakeWeb. Parece que los simulacros todavía son mucho más comunes, así que me pregunto qué me está perdiendo que está mal con el uso de FakeWeb en su lugar. ¿Hay algún tipo de error que no se puede cubrir con Fakeweb o es algo sobre el proceso TDD o BDD?Desventajas de usar FakeWeb en comparación con la escritura de simulacros para probar
Respuesta
Usted debe echar un vistazo a WebMock http://github.com/bblimke/webmock
La desventaja de burlarse de peticiones http es la falta de protección contra los cambios en la API remotas. Si el servicio HTTP remoto cambia, y su código ya no será compatible, sus pruebas no le informarán al respecto. Si se burla de los métodos de cliente http por su cuenta, tiene los mismos problemas. Es bueno tener un paquete de prueba de integración que verifique que su código aún pueda comunicarse con el servicio http real.
La ventaja de una biblioteca como FakeWeb o WebMock es el hecho de que puede centrarse en la implementación del comportamiento en lugar de preocuparse por los detalles de implementación de la biblioteca de cliente http específica. Incluso si cambia la biblioteca de, por ejemplo, Net :: HTTP a RestClient, el comportamiento debería conservarse para que las pruebas sigan pasando. Si se burla del cliente http por su cuenta, debe cambiar las pruebas cuando cambie la implementación, incluso si el comportamiento no cambió. Usar FakeWeb o Webmock también ayuda con TDD o BDD (prueba primero). Puede especificar el comportamiento http con especificaciones o pruebas, antes de preocuparse por los detalles de implementación de un cliente HTTP específico.
Probablemente se sentirá satisfecho con VCR, que es un contenedor de las bibliotecas de burla de HTTP. Almacena en caché las solicitudes HTTP originales, de modo que sus pruebas sean rápidas y sin conexión, pero también se puede modificar para ejecutar nuevamente la solicitud original, para ver si la prueba funciona en contra de la API remota.
- 1. Cuándo usar los simulacros parciales?
- 2. Biblioteca como fakeweb para Python
- 3. ¿Cuáles son las desventajas de usar ANTLR en comparación con Flex/Bison?
- 4. Cómo probar una propiedad de escritura
- 5. ¿Se puede usar JSTL c: si probar en comparación con un patrón de URL?
- 6. throw checked Excepciones de simulacros con Mockito
- 7. Usar Clojure para probar la unidad Java
- 8. ¿Cómo usar jBCrypt para la comparación de contraseñas de contraseña?
- 9. Uso de simulacros en las pruebas
- 10. Ventajas y desventajas de usar Enterprise Library
- 11. Ventajas y desventajas de usar Storyboarding?
- 12. cómo usar Goto en la escritura de la hornada
- 13. https simulacros solicitan en Java
- 14. Ventajas y desventajas de usar java rmi
- 15. ¿Puedo usar RSpec para simular stdin/stdout para probar las lecturas y escrituras de la consola?
- 16. utilizando make_tuple para la comparación
- 17. Desventajas de la función CallbyName en VB.NET?
- 18. CSV para la escritura JSON
- 19. ¿Cómo usar rspec para probar rutas con nombre?
- 20. Desventajas de CouchDB
- 21. ¿Cuáles son las ventajas/desventajas de usar el método declarativo versus el método programático con ASP.Net?
- 22. Ventajas/desventajas de punteros automáticos
- 23. Desventajas de la declaración directa?
- 24. Ventajas y desventajas de usar gettext en lugar de QObject.tr() para la localización de la aplicación PyQt4?
- 25. Cómo usar Devel :: ¿Cubrir con probar?
- 26. == para la comparación puntero
- 27. Programación de funciones y simulacros de objetos
- 28. Ventajas y desventajas de usar imágenes codificadas en base64
- 29. necesita ayuda con la prueba de escritura
- 30. ¿Cómo usar Mockito para probar mensajes SOAP?