
Testing Microservices with Mountebank
Brandon Byars
- Editorial
- Manning
- Año
- 2019
- Páginas
- ~240
- Nivel
- Intermedio
De qué trata
Guía especializada y técnica sobre virtualización de servicios (service virtualization) aplicada a arquitecturas distribuidas, escrita directamente por Brandon Byars, creador de la herramienta de código abierto Mountebank (sobre Node.js). El texto está orientado a desarrolladores backend, ingenieros de control de calidad (QA) y arquitectos de software con nivel intermedio que necesitan probar microservicios de forma fiable sin depender de entornos compartidos inestables o dependencias de red lentas. Se asume familiaridad previa con el paradigma de microservicios, el protocolo HTTP, formato JSON y conocimientos básicos de JavaScript para la definición de comportamientos dinámicos.
El contenido desglosa en detalle cómo crear y gestionar dobles de prueba a nivel de red (over-the-wire test doubles) mediante las primitivas de Mountebank: impostores (imposters), respuestas enlatadas (canned responses), predicados de coincidencia con operadores lógicos y expresiones regulares, y comportamientos avanzados como la simulación de latencia de red y la decoración de respuestas. Enseña a implementar el patrón de captura y reproducción (record/replay proxy) para clonar el comportamiento de servicios reales en vivo, inyectar funciones personalizadas en JavaScript para simular estados mutables en las respuestas, y operar sobre protocolos más allá de HTTP y HTTPS, tales como TCP en crudo y protocolos binarios o personalizados. Además, aborda la estrategia de integración de virtualización de servicios dentro de pipelines de entrega continua (CI/CD) y su convivencia con las pruebas de contrato (contract testing).
A través de sus páginas se configuran diversos escenarios de prueba realistas: impostores para dependencias críticas de terceros (como pasarelas de pago o APIs REST externas), servicios virtuales con estado dinámico y un flujo automatizado de integración continua que ejecuta pruebas funcionales y de rendimiento con aislamiento total. Su mayor mérito consiste en proporcionar una alternativa ligera, multiplataforma y sin coste a las complejas suites comerciales de virtualización empresarial, desacoplando los ciclos de despliegue de los equipos. No enseña a programar microservicios desde cero ni profundiza en pruebas unitarias a nivel de código fuente. Conviene tener claridad sobre la arquitectura de redes y el diseño de APIs antes de comenzar.
- Mountebank
- Virtualización de servicios
- Microservicios
- Impostores y stubs
- Predicados y enrutamiento
- Record and replay
- Inyección de JavaScript
- Simulación de latencia
- Protocolos TCP y HTTPS
- Pipelines CI/CD
- Pruebas de integración
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

