Contract Test
Testing 🔴 SeniorDefinition
Test qui verifie que l'interface (contrat) entre un consommateur et un fournisseur d'API est respectee. Chaque cote teste independamment sa conformite au contrat.
Analogie
Comme un contrat de location : le locataire et le proprietaire verifient chacun que les clauses sont respectees sans avoir besoin de se rencontrer.
Exemple de code
// Pact consumer test
const interaction = {
uponReceiving: 'a request for user',
withRequest: { method: 'GET', path: '/users/1' },
willRespondWith: {
status: 200,
body: { id: 1, name: like('Alice') }
}
};
Cas d'usage
En architecture microservices pour garantir que les equipes peuvent deployer independamment sans casser les integrations.
Anti-pattern
Remplacer les contract tests par des tests E2E massifs qui couplent tous les services au deploiement.