Given-When-Then
Testing 🟢 JuniorDefinition
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.