Contract Test

Testing 🔴 Senior

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

← → au clavier pour passer d'une fiche à l'autre