DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk6 min

Cómo simular APIs HTTP con WireMock: stubs, Java, Docker y grabación

WireMock permite devolver respuestas HTTP predefinidas para probar clientes sin depender de una API real. Guía de stubs, ejecución y grabación/reproducción.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

WireMock simula una API HTTP al comparar cada petición con reglas configuradas y devolver la respuesta definida para las que coinciden. Puedes crear stubs en código, en archivos JSON o mediante su API de administración; ejecutarlo dentro de pruebas Java, como un JAR independiente o en Docker; y grabar tráfico encaminado a una API real para reproducirlo después.

Qué hace WireMock y qué es un stub

Un stub es una regla que relaciona una petición con una respuesta predefinida. El cliente de tu aplicación envía una solicitud a WireMock; WireMock compara el método, la URL y, según la regla, las cabeceras o el contenido del cuerpo. Si hay coincidencia, responde con el estado HTTP, las cabeceras y el cuerpo que configuraste. También permite verificar solicitudes recibidas y simular demoras, fallos, comportamiento con estado y WebSockets. Consulta la descripción general de WireMock.

Por ejemplo, puedes definir que GET /users/42 devuelva 200 con un JSON estable. Configuras el cliente bajo prueba para llamar a la dirección local de WireMock y, además de comprobar qué resultado obtiene el cliente, verificas que haya enviado la petición esperada. Así la prueba no depende de que la API externa esté disponible ni de que sus datos cambien.

Cómo crear stubs para probar una API

WireMock ofrece tres vías para gestionar stubs: código o DSL, archivos JSON en el directorio mappings y peticiones a la API REST de administración. En modo independiente, los cuerpos de respuesta pueden guardarse como archivos en __files. Elige una vía según dónde quieras mantener las reglas y quién deba administrarlas; los archivos JSON, por ejemplo, pueden versionarse junto con el proyecto.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ejemplo en Java con JUnit

La guía oficial de inicio rápido usa Java 11 o 17 y Maven o Gradle, junto con JUnit 4. Si tu proyecto utiliza otra versión de Java o un marco de pruebas distinto, comprueba la compatibilidad antes de copiar el ejemplo. La dependencia Java documentada es org.wiremock:wiremock; la guía de inicio rápido de Java y JUnit 4 muestra cómo iniciar WireMock desde la prueba, registrar una regla y hacer que el cliente apunte al servidor simulado.

Para pruebas concurrentes, un puerto dinámico evita que varias instancias intenten ocupar el mismo puerto fijo. Asegúrate de que la URL base del cliente bajo prueba use el puerto que recibió la instancia activa de WireMock. Al terminar, comprueba tanto el resultado funcional como la solicitud recibida; una respuesta correcta por sí sola no demuestra que el cliente haya enviado el método, la ruta o las cabeceras esperadas.

Ejemplo con archivos JSON

En un servidor independiente, guarda los mappings como JSON en mappings y los cuerpos reutilizables en __files. Esto separa los datos de respuesta de las reglas y facilita revisar o compartir stubs sin incluirlos en código de prueba. También puedes crear, consultar o eliminar mappings a través de la API de administración, que expone operaciones REST.

Elegir cómo ejecutar WireMock

La decisión principal es si WireMock debe compartir el ciclo de vida de una prueba Java o funcionar como servicio aparte. Para una sola suite JVM, la dependencia integrada suele ser directa; para clientes de distintos lenguajes o un mock compartido, un servidor independiente puede encajar mejor.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Enfoque Cuándo conviene Qué tener en cuenta
Dependencia Java Pruebas dentro de un proyecto JVM, con control del servidor desde el código de prueba. El quick start oficial consultado cubre Java 11 o 17 con Maven o Gradle y JUnit 4. La dependencia indicada es org.wiremock:wiremock.
JAR independiente Un servidor separado al que se conectan uno o más clientes. La documentación distingue el JAR estándar del uber-JAR independiente con dependencias integradas. Para el servicio autónomo muestra org.wiremock:wiremock-standalone y ejecución con java -jar.
Docker Un servidor aislado cuya configuración y datos quieres suministrar desde el entorno del contenedor. Al montar un directorio en /home/wiremock, Docker puede cargar de allí mappings y archivos de respuesta.
WireMock Cloud Mocks alojados o colaboración centralizada, en lugar de administrar un servidor local. La documentación lo describe como un servicio comercial alojado; sus precios y condiciones no se detallan aquí.

La documentación consultada mostraba WireMock 3.13.2 como ejemplo de versión estable y la misma etiqueta para Docker; son valores publicados en esas páginas al consultarlas, no una garantía de que sean las versiones más recientes cuando leas esto. También señalaba WireMock 4.x como beta. Antes de configurar un proyecto, revisa la página oficial de instalación para confirmar la versión estable, las coordenadas y la etiqueta adecuadas.

Ejecutar como JAR

El JAR independiente resulta práctico cuando quieres arrancar el mock fuera del proceso de pruebas. La documentación oficial explica tanto la descarga directa como la ejecución con java -jar, y el uso del artefacto org.wiremock:wiremock-standalone en proyectos que necesiten ese paquete autónomo. Para opciones de inicio y administración, consulta ejecución como proceso independiente.

Ejecutar en Docker

La imagen oficial permite iniciar WireMock como contenedor. Monta una carpeta local en /home/wiremock para que el servidor cargue los mappings y archivos de respuesta de esa ubicación; así puedes mantenerlos fuera de la imagen. La guía de WireMock en Docker documenta el montaje y la ejecución. Usa una etiqueta de imagen explícita que corresponda a la versión elegida en vez de asumir que una etiqueta concreta seguirá siendo la más actual.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Cómo grabar y reproducir respuestas de una API

WireMock puede actuar como proxy hacia una API existente y transformar las interacciones en mappings. El flujo consiste en configurar la ruta hacia el servicio real, enviar tráfico a través de WireMock, detener la grabación y usar los mappings generados para responder a solicitudes posteriores sin llamar al servicio original.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Configura el proxy primero. Indica a WireMock qué API debe reenviar las solicitudes. Si quieres capturar llamadas externas, el proxy debe estar configurado antes de generar ese tráfico.
  2. Inicia la grabación. Puedes hacerlo mediante la API JSON de administración o el DSL de Java.
  3. Envía las solicitudes que quieres capturar. Las interacciones que pasen por WireMock pueden convertirse en mappings.
  4. Detén la grabación. WireMock genera mappings a partir de las solicitudes recibidas para reproducir las respuestas.
  5. Revisa las capturas y reproduce. Comprueba que los cuerpos, cabeceras y datos capturados sean apropiados para pruebas repetibles; después dirige el cliente a WireMock en lugar de la API real.

La grabación acelera la creación de ejemplos basados en tráfico real, pero no sustituye la revisión de los datos. Una respuesta capturada puede incluir valores volátiles o información que no conviene conservar en pruebas. La documentación de grabación y reproducción explica el flujo de proxy, inicio y detención.

Proteger la API de administración

La API de administración puede cambiar mappings y registrar solicitudes; no la expongas sin controles en una red que no sea de confianza. Para el JAR independiente, WireMock documenta --admin-api-basic-auth para exigir autenticación Basic y --admin-api-require-https para exigir HTTPS en las llamadas administrativas. Configura estos controles de acuerdo con el modo de despliegue y limita quién puede alcanzar la interfaz administrativa. Los detalles están en la guía de ejecución independiente.

Cuándo elegir cada forma de crear y mantener stubs

  • Código o DSL: útil cuando las reglas están ligadas a una prueba y deben vivir junto al código que las verifica.
  • JSON: útil para mappings legibles y versionables, o para cargar la misma configuración en una ejecución independiente.
  • API de administración: útil cuando el servidor ya está en marcha y necesitas gestionar mappings mediante REST.
  • Grabación: útil para partir de interacciones con una API real; inspecciona los resultados para que las pruebas sigan siendo estables.

El artículo oficial sobre stubbing resume la idea central: “A core feature of WireMock API mocking is the ability to return canned HTTP responses for requests matching criteria.”

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.