Contract Test
Testing 🔴 SeniorDéfinition
Test qui vérifie que l'interface (contrat) entre un consommateur et un fournisseur d'API est respectée. Chaque cote teste indépendamment sa conformité au contrat.
Analogie
Comme un contrat de location : le locataire et le propriétaire vérifient chacun que les clauses sont respectées 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 équipes peuvent déployer indépendamment sans casser les intégrations.
Anti-pattern
Remplacer les contract tests par des tests E2E massifs qui couplent tous les services au déploiement.