Given-When-Then

Testing 🟢 Junior

Définition

Format de description des tests issu du BDD : Given (contexte initial), When (action), Then (résultat attendu). Équivalent de AAA en langage métier.

Analogie

Comme raconter une histoire : 'Étant donne que... Quand... Alors...' — même votre PO peut comprendre le test.

Exemple de code

// Given-When-Then en Gherkin
// Given un panier avec 3 articles
// When l'utilisateur applique le code PROMO10
// Then le total est reduit de 10%

test('PROMO10 reduces total by 10%', () => {
  const cart = createCart({ items: 3, total: 100 });
  const result = applyPromo(cart, 'PROMO10');
  expect(result.total).toBe(90);
});

Cas d'usage

Pour les tests d'acceptance et BDD ou le langage métier doit être compréhensible par les non-techniques.

Anti-pattern

Écrire des Given-When-Then trop techniques qui perdent l'intérêt de la lisibilité métier.

Termes liés

#testing#agile#bdd

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