TDD
Testing 🟡 MidDefinition
Test-Driven Development : methodologie ou on ecrit le test AVANT le code, en cycle Red-Green-Refactor. Force a designer l'API avant l'implementation.
Analogie
Comme ecrire 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 metier complexe (algorithmes, regles de gestion) ou le design emerge naturellement des tests.
Anti-pattern
Appliquer TDD dogmatiquement a du code CRUD simple ou l'overhead n'apporte aucune valeur.