C

Skill Entry

Contract testing

Bloquea expectativas de API entre servicios usando consumer-driven contracts para que cuando un equipo cambia su implementación, falla en CI en lugar de durante un deployment de producción Coordinado. Contract testing previene el patrón común de fallo de integración donde ambos lados de una API parecen trabajar en aislamiento pero rompen cuando se conectan en producción.

Categoría Programación
Plataforma Codex / Claude Code
Fecha de publicación 2026-04-14
testingapismicroservices

Casos de uso

  • Dividiendo un monolith en microservicios donde cada equipo de servicio necesita evolucionar sus APIs independientemente
  • Preparando un SDK público donde quieres detectar API drift antes de que desarrolladores externos la encuentren
  • Manteniendoversioned internal APIs donde los equipos de provider y consumer están en diferentes zonas horarias
  • Onboarding un nuevo consumer a una API existente y queriendo verificar compatibilidad rápidamente sin un entorno de integración completo
  • Ejecutando contract tests en CI para que cambios de API que rompen consumidores existentes se detecten antes del merge

Funciones principales

  • Los equipos de consumer escriben pruebas que describen las respuestas de API de las que dependen: estas pruebas definen el contract desde la perspectiva del consumer
  • El sistema de verificación de contract (ej., Pact, Spring Cloud Contract) publica el contract a un broker compartido donde el provider puede recuperarlo
  • El equipo de provider ejecuta el contract contra su implementación en CI en cada cambio, fallando el build si la implementación ya no satisface ningún consumer contract
  • Bloquea merges en el lado del provider cuando una prueba de contract falla, forzando coordinación con los equipos de consumer afectados antes de shippear el cambio breaking
  • Mantén contracts versionados para que provider y consumer puedan migrar a nuevas versiones de contract en su propio schedule

Relacionados

Relacionados

3 Entradas indexadas