TDD
Testing 🟡 MidDéfinition
Test-Driven Development : méthodologie ou on écrit le test AVANT le code, en cycle Red-Green-Refactor. Force a designer l'API avant l'implémentation.
Analogie
Comme écrire la liste de courses avant de cuisiner : vous savez exactement ce dont vous avez besoin avant de commencer.
Exemple de code
// 1. RED: ecrire un test qui echoue
test('isPalindrome returns true', () => {
expect(isPalindrome('kayak')).toBe(true);
});
// 2. GREEN: code minimal pour passer
const isPalindrome = (s) => s === s.split('').reverse().join('');
// 3. REFACTOR: ameliorer sans casser
Cas d'usage
Pour le code métier complexe (algorithmes, règles de gestion) ou le design émerge naturellement des tests.
Anti-pattern
Termes liés
En entretien
Explique-moi le cycle TDD.
Le Test-Driven Development consiste à écrire le test avant le code, en cycle Red-Green-Refactor, ce qui force à designer l'API avant l'implémentation. C'est adapté au code métier complexe comme des algorithmes ou des règles de gestion, où le design émerge naturellement des tests.
Quand éviter d'appliquer TDD dogmatiquement ?
Sur du code CRUD simple, où l'overhead du cycle Red-Green-Refactor n'apporte aucune valeur ajoutée. TDD est un outil de design, pas une obligation universelle sur chaque ligne de code.
Fiche mise à jour le 2026-09-27