Header Ads Widget

Ticker

6/recent/ticker-posts

Más de 10 herramientas para simular solicitudes HTTP

 



Burlarse de las solicitudes HTTP es una parte vital de cualquier regimiento de pruebas. La capacidad de probar una amplia gama de posibles situaciones, realidades y casos de uso es extremadamente importante, y presenta una gran oportunidad para preparar realmente su API para el futuro. La herramienta que utilice para implementar esto sí importa: su herramienta debe poder simular interacciones API comunes y flujos de solicitud HTTP, y lo más importante, debe ser apropiada para su base de código y situación.

Hoy, veremos 10 herramientas para burlarse de las solicitudes HTTP . Cada una de estas herramientas ofrece algo un poco diferente de las demás y presenta una variedad de opciones de construcción e implementaciones interesantes.

1 - Nock

Nock es una biblioteca HTTPS diseñada para replicar y simular servidores y expectativas en Node.js. Funcionalmente, Nock hace esto anulando las funciones http.request y http.ClientRequest, interceptando solicitudes y respondiendo con una respuesta simulada específica mediante el uso de Interceptores.

Los interceptores se direccionan en el orden en que aparecen en una lista, lo que significa que puede crear varios interceptores que den como resultado diferentes respuestas a dos o más llamadas. Esto es especialmente útil si está probando fallas simuladas o enrutamiento, ya que puede imitar la funcionalidad compleja del servidor de manera relativamente transparente.

También debe tenerse en cuenta que las rutas de solicitud pueden ser una cadena, una función de filtro o una expresión regular. Esto significa que puede usar cualquier verbo HTTP para imitar una solicitud a través de una multiplicidad de rutas de solicitud diferentes según su caso de prueba con alta complejidad y variabilidad.

2 - MockServer

MockServer (y su servicio homólogo MockServer Proxy) es una herramienta multifacética que viene en una variedad de versiones. Está disponible como un servidor web Netty, un contenedor Docker, un complemento Maven, un complemento npm y un complemento Grunt. Hay un montón de excelentes opciones que se pueden aprovechar para una variedad de entornos. Esto ya lo convierte en una herramienta bastante convincente dado que puede conectarlo a casi cualquier cosa que esté ejecutando, pero su amplia gama de funciones es el argumento principal.

MockServer responde a las solicitudes basándose en una serie de expectativas configuradas, con soporte para respuestas simuladas, reenvío de solicitudes, generación de devolución de llamada, respuesta no válida / cierre de conexión, afirmación de prueba y recuperación de registros. Por esta razón, MockServer está bien definido y es configurable, lo que lo convierte en una excelente opción para la mayoría de los casos de uso.

3 - Beeceptor

Beeceptor es una gran herramienta en gran parte porque no requiere absolutamente ningún código para utilizarla. Beeceptor es una herramienta en línea gratuita para simular una interacción API REST utilizando cualquier solicitud HTTP. Puede personalizar sus respuestas para simular prácticamente cualquier respuesta o situación de falla. Beeceptor también ofrece una gran funcionalidad para simular la latencia en las API descendentes: puede simular la latencia de transmisión y los tiempos de espera, lo que es un gran caso de uso para muchas API y, a menudo, se pierde durante las pruebas.

Beeceptor también tiene un excelente soporte para pruebas A / B. Este es otro caso de uso que a menudo se pasa por alto con otras opciones de simulación, o si es compatible, requiere una nueva implementación o configuraciones de prueba ad hoc. Beeceptor admite las pruebas A / B sin la necesidad de volver a implementar o utilizar múltiples entornos de prueba, lo que puede parecer un pequeño beneficio, pero en realidad conduce a un aparato de prueba mucho más limpio, más delgado y eficiente.

4 - Mockoon

Mockoon se aparta de las otras soluciones de esta lista en que no es una solución web ni una solución de código. Mockoon es un programa descargable que simula un número ilimitado de entornos y rutas: Mockoon hace hincapié en que estos se pueden ejecutar en paralelo, y su sólido sistema de importación / exportación garantiza que las situaciones empresariales, de múltiples rutas y de múltiples entornos puedan ser adecuadamente apoyado.

Aparte de su novedoso método de implementación, Mockoon ofrece una amplia gama de soporte para variables de servidor comunes. Certificados autofirmados, respuestas activadas por reglas, simulación de latencia y más funciones para replicar las condiciones comunes del servidor al tiempo que permiten opciones de configuración lo suficientemente flexibles para simular casi cualquier sistema. Cabe destacar el hecho de que no es necesario registrarse o implementar en la nube, todo se hace localmente.

5 - Mocky.io

Mocky es una implementación de prueba increíblemente simple y súper liviana. Mocky es completamente una aplicación web, lo que significa que todo se genera y gestiona de forma remota. Esto significa que Mocky le otorga un control significativamente menor en comparación con las soluciones que se enfocan más en los sistemas locales, pero esto también significa que la aplicación es más simple y limpia.

Mocky tiene un gran soporte para un montón de funciones comunes, pero debido a que es una aplicación web, debe agregar esta funcionalidad en forma de URL. Por ejemplo, agregar ?callback=myfunctionhabilita jsonp; agregar le ?mocky-delay=100mspermite agregar retrasos. Este tipo de funcionalidad aún ofrece mucho valor, pero apunta a la relativa simplicidad de la aplicación: si se desea exceder el control granular, Mocky podría no ser la primera opción. Sin embargo, para interacciones simples, Mocky es una excelente opción.

6 - Mockable.io

Mockable fue diseñado desde cero para ser simple y fácil de usar, y se nota: todo lo que Mockable hace y presenta es ingenioso e intuitivo. Debido a este espíritu de diseño, es increíblemente rápido pasar de la nada a un servidor simulado.

Una cosa a tener en cuenta es que Mockable parece haberlo comprado con la idea de ofrecer la solución en cuestión principalmente a usuarios empresariales. La capacidad de organizar los simulacros en un "dominio", una colección en la que varios usuarios pueden interactuar con subdominios y simulacros, así como las herramientas de equipo creadas en el sistema de dominios, sugiere que esto está dirigido principalmente a ese segmento en particular.

Dicho esto, sigue siendo una muy buena opción y ofrece una gran variedad de funciones y extensiones para hacer lo que hace.

7 - Semáforo

Semáforo se trata de la creación rápida de servidores simulados y la visualización de las API que interactúan con ellos. A través de una variedad de herramientas, Stoplight ofrece una excelente virtualización, validación automática contra la documentación de OpenAPI y un alto soporte para la generación de contenido configurable y dinámico.

Stoplight también se basa en Prism , una oferta de servidor simulado HTTP de código abierto: ser de código abierto es un gran beneficio, y el hecho de que también sea compatible con Swagger es definitivamente otro profesional.

También debe mencionarse que el Semáforo es en realidad una serie de ofertas más que una opción singular. Para los usuarios habituales, esto incluye tanto Stoplight Studio (la implementación simulada real) como Stoplight Docs, un potente motor de documentación que genera documentación a partir de OpenAPI v2 / v3. Para los usuarios empresariales, Stoplight Hubs es un centro de documentación desplegable para documentación de marca personalizada, y Stoplight Enterprise es su oferta estándar reforzada para la implementación empresarial.

8 - Servidor simulado de cartero

Los servidores simulados en Postman están vinculados directamente a la aplicación Postman y, por esa razón, son una sugerencia para un caso de uso muy particular. Postman es una excelente solución de prueba, y su sistema de burla es igualmente excelente, pero el hecho de que esté vinculado tanto a una cuenta de Postman como a una colección definida significa que usar solo el sistema Mocking significa que está comprando una experiencia de prueba incompleta. Puede crear un servidor simulado sin una colección existente, pero en este caso es como comprar un kit de costura completo para una sola aguja.

Eso puede no ser un factor decisivo, por supuesto: Postman es un excelente sistema de prueba y es de uso relativamente común por muchos desarrolladores de API. Aún así, el hecho de que el sistema de burla sea solo un aspecto de un aparato de prueba mucho más grande puede disuadir a algunos usuarios. También está el hecho de que no es completamente gratuito: Postman permite un número limitado de llamadas simuladas gratuitas, pero los usuarios que se involucren en un desarrollo intenso pueden agotar rápidamente este número limitado.

9 - Wiremock

Wiremock se anuncia a sí mismo como un "simulador de API basadas en HTTP"; en esencia, es una herramienta de virtualización para burlarse, pero el producto parece alineado con la idea de simulación holística. Mocklab lleva esto un paso más allá, ofreciendo burlas a través de una interfaz de usuario web. El principal punto de venta de Wiremock es la implementación flexible: presume de implementación a través de una variedad de implementaciones y “reemplazo directo […] con una sola línea de código”, lo que lo hace bastante flexible para una serie de soluciones.

Quizás las dos propuestas de valor más sólidas para Wiremock son la coincidencia de solicitudes y la captura de tráfico. La coincidencia se puede realizar entre URL, métodos, encabezados, cookies y cuerpos utilizando JSON y XML, así como una variedad de otras opciones. Esto, junto con las funciones de grabación y reproducción relativamente sólidas que permiten la captura y el análisis del tráfico, significa que las pruebas simuladas se pueden realizar de manera bastante sólida.

10 - Mockserver

Mockserver es una biblioteca que utiliza archivos simulados para ofrecer respuestas simuladas realistas. Para ello, crea archivos de simulación locales que ofrecen contenido como si fueran parte de una API real localizada en el puerto 9001. Debido a la implementación relativamente limpia y rápida, Mockserver se jacta de que la simulación de API se puede crear en "cuestión de segundos". más concretamente, debido a que dicho sistema es súper liviano, también significa que es altamente adaptable a una amplia gama de opciones.

Por esta razón, Mockserver es una gran opción si se necesitan pruebas rápidas con relativa inmediatez. Mockserver es detallado, admite encabezados personalizados, tiene un esquema de simulación de retardo de respuesta incorporado y ofrece una amplia gama de opciones adicionales para imitar entornos de prueba estándar.

Conclusión

Al igual que con cualquier tipo de lista como esta, sus elecciones están realmente dictadas por su situación actual. Cualquier opción delineada aquí hará el trabajo de burlarse de las solicitudes HTTP con relativa facilidad y eficiencia, aunque el modo de ejecución y el resultado de dicha ejecución pueden cambiar de una implementación a otra. No obstante, todas estas opciones son maravillosas en su caso de uso dado y se pueden aprovechar para proporcionar un entorno rápido, limpio e intuitivo para pruebas y desarrollo iterativo.

¿Qué opinas de las opciones presentadas aquí? ¿Nos estamos perdiendo algunas opciones importantes de burla? Háganos saber en los comentarios a continuación.

Publicar un comentario

0 Comentarios