Contract Test

Testing 🔴 Senior

Definition

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.
#testing#microservices#senior