¿Qué problema resuelve el contract testing guiado por consumidores (por ejemplo Pact)?
Opciones
- Ejecuta load tests contra el servicio desplegado
- Comprueba que los proveedores siguen cumpliendo lo que necesitan sus consumidores (Opción correcta)
- Compara capturas de la UI para encontrar cambios
- Prueba las migraciones de base de datos de un servicio
Respuesta
Verificar que la API de un proveedor sigue cumpliendo lo que esperan sus consumidores, sin ejecutar entornos end-to-end completos
Por qué
El servicio A (consumidor) llama al servicio B (proveedor). Si B renombra un campo, A se rompe, y quizá nadie lo note hasta producción.
Con contract tests, A registra exactamente qué peticiones envía y qué campos de respuesta necesita (el contrato). El CI de B verifica que sigue cumpliendo el contrato de cada consumidor.
Detecta pronto los cambios incompatibles de API sin un entorno completo con todos los servicios.
Recuerda
Contract tests = el proveedor comprueba que cumple lo que esperan sus consumidores.