Given-When-Then

Testing 🟢 Junior

Definition

Format de description des tests issu du BDD : Given (contexte initial), When (action), Then (resultat attendu). Equivalent de AAA en langage metier.

Analogie

Comme raconter une histoire : 'Etant donne que... Quand... Alors...' — meme 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 metier doit etre comprehensible par les non-techniques.

Anti-pattern

Ecrire des Given-When-Then trop techniques qui perdent l'interet de la lisibilite metier.

Termes lies

#testing#agile#bdd