Contract Testing
Pruebas de contrato
Las pruebas de contrato verifican si dos sistemas que pueden desplegarse por separado aún intercambian mensajes en el formato acordado.
Otro ejemplo
Un cliente espera que GET /profiles/42 devuelva ciertos campos y un estado. La integración continua (CI) verifica que el proveedor mantenga esta promesa. La prueba no demuestra todo el recorrido ni la calidad de los datos en vivo.
Partes principales
- 01Contrato del consumidor
- 02verificación del proveedor
- 03resultado de compatibilidad
Úsalo cuando
Use este término cuando los servicios se despliegan por sí mismos y la compatibilidad de los mensajes debe verificarse sin todo el sistema.
No lo uses cuando
No copie el código privado del proveedor en el contrato ni use esta prueba en lugar de la prueba de seguridad de la API.
Nombre usado en código
consumer expectation ↔ provider verification Antes de lanzarlo
Check the environment and prepared test data (fixture). Define a result you can observe, failure and edge cases, isolation, stable inputs, useful error details, and cleanup. Set a time budget, owner, and flaky-test rule.
Outcome: Complete the task with Pruebas de contrato (Contract Testing). User context: Un cliente espera que GET /profiles/42 devuelva ciertos campos y un estado. La integración continua (CI) verifica que el proveedor mantenga esta promesa. La prueba no demuestra todo el recorrido ni la calidad de los datos en vivo. Validation approach: Pruebas de contrato (Contract Testing). Why it fits: Use este término cuando los servicios se despliegan por sí mismos y la compatibilidad de los mensajes debe verificarse sin todo el sistema. Do not use it when: No copie el código privado del proveedor en el contrato ni use esta prueba en lugar de la prueba de seguridad de la API. Test requirements: Name the system and test environment. Define prepared test data, other inputs, and the result you can observe. Include failure and edge cases, allowed error, isolation, and cleanup. Test operations: Make failures easy to diagnose. Control random or changing inputs. Name an owner. Keep the test fast and simple enough for its release gate. Acceptance criteria: The test fails for the known bug and passes after the fix. It repeats in the target environment, gives useful evidence, and does not expose or change unrelated data. Evidence and limits (evidence boundary): Es oficial para esa fuente. Otras plataformas o equipos pueden usar el término de otra manera. Unknowns to confirm: Release gate, environment, prepared test data, allowed error, time budget, owner, and flaky-test rule.
Revisa esta petición
Review how Pruebas de contrato (Contract Testing) is used now. Definition: Las pruebas de contrato verifican si dos sistemas que pueden desplegarse por separado aún intercambian mensajes en el formato acordado. Release checks: Check the environment and prepared test data (fixture). Define a result you can observe, failure and edge cases, isolation, stable inputs, useful error details, and cleanup. Set a time budget, owner, and flaky-test rule. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.