Cree su primer punto final de API simulado con WireMock

WireMock es una herramienta para simular API basadas en HTTP que se ejecuta en las pruebas unitarias, en el escritorio o en el entorno de prueba. También podemos decir que es un simulador de APIs basadas en HTTP, considerado una herramienta de virtualización de servicios o un servidor simulado . Le permite mantenerse productivo cuando una API de la que depende no existe y no está completa o es costosa de acceder. Admite la prueba de casos Edge y modos de falla. Es rápido, por lo que reduce significativamente el tiempo de construcción. En términos simples, Wiremock es una configuración simulada para pruebas de integración . Se utiliza principalmente durante el desarrollo y, de manera más significativa, durante las pruebas de integración, mientras que un sistema o servicio se comunica con una o varias dependencias/servicios externos o internos.

Lea más sobre WireMock en este artículo: Introducción a WireMock

En este artículo, vamos a crear nuestro primer extremo de API simulado con la ayuda de WireMock y Postman .  

Implementación paso a paso 

Paso 1:

Consulte este artículo Descarga e instalación de WireMock y ejecute WireMock como un proceso independiente en su sistema local. 

Paso 2:

Después de ejecutar con éxito el servidor WireMock, acceda al siguiente punto final en su navegador local y veamos qué sucede. 

http://localhost:8080/testapi

Entonces recibirás un mensaje como este. Consulte la imagen de abajo. 

No response could be served as there are no stub mappings in this WireMock instance.

 

También recibirá el mismo mensaje en la consola de WireMock. Consulte la imagen de abajo. 

 

Así que, ¿qué significa? Esto significa que no se están configurando simulacros. Entonces, creemos esta API simulada » http://localhost:8080/testapi » y luego presionaremos esta API nuevamente. 

Paso 3:

Abra Postman y cree una solicitud POST . Y pon la siguiente URL

http://localhost:8080/__admin/mappings

Nota : hay dos guiones bajos «_» antes del administrador. Puede considerarlo así “_ _admin”

Entonces, lo que estamos haciendo es realizar una solicitud CURL POST a http://localhost:8080/__admin/mappings y esta es la ubicación donde se almacenarán todas las asignaciones para el servidor Wiremock que ejecutamos o iniciamos a través del archivo JAR. 

Paso 4: 

Y en el cuerpo de la solicitud, escriba el archivo JSON como se muestra a continuación.

{
    "request": {
        "url": "/testapi",
        "method": "GET"
    },
    "response": {
        "status": 200,
        "body": "Welcome to GeeksforGeeks!"
    }
}

Así que aquí estamos definiendo parámetros de solicitud como URL y método de solicitud junto con el cuerpo de la respuesta en la sección «respuesta». Esto simplemente implica que cada vez que ingrese una solicitud GET con URL /testapi, responda con el cuerpo de respuesta especificado, es decir, «¡Bienvenido a GeeksforGeeks!» para este ejemplo. Y presiona el botón Enviar . Y en la Respuesta vas a obtener algo como esto

{
    "id": "6197ad08-73d3-4eef-bd79-340c6f5c7145",
    "request": {
        "url": "/testapi",
        "method": "GET"
    },
    "response": {
        "status": 200,
        "body": "Welcome to GeeksforGeeks!"
    },
    "uuid": "6197ad08-73d3-4eef-bd79-340c6f5c7145"
}

Consulte la imagen a continuación si está atrapado en algún lugar. 

 

Paso 5: 

Ahora volvamos a tocar el mismo punto final ( http://localhost:8080/testapi ) y veamos qué sucede. 

 

¡Sí! esta vez obtuvimos nuestro resultado. Así que hemos creado con éxito nuestro primer punto final de API simulado con la ayuda de WireMock y Postman. Del mismo modo, puede jugar con él y hay muchas cosas para explorar en WireMock y sus herramientas muy útiles para que el desarrollador realice pruebas de integración y unidades. 

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *