Craftmanship · Fiche 06
Test Driven Development (TDD)
Développement piloté par les tests : le cycle Red, Green, Refactor illustré avec une calculatrice JavaScript et Jest.
Développement piloté par les tests : Red, Green, Refactor.
Le Cycle TDD
- Rouge : écrire un test qui échoue. Cela force à réfléchir aux exigences avant d’écrire le code.
- Vert : écrire le minimum de code pour que le test passe. L’objectif est de valider rapidement que le test est correct.
- Refactor : améliorer le code sans changer son comportement. Cela inclut la suppression de la duplication, l’amélioration de la lisibilité, etc.
💡 Exemple Concret : Calculatrice
Une calculatrice en JavaScript, testée avec Jest.
Étape 1 : Rouge
Écrire le test en premier :
test('should add two numbers', () => {
const calculator = new Calculator();
const result = calculator.add(2, 3);
expect(result).toBe(5);
});
❌ Test échoue : Calculator n’existe pas.
Étape 2 : Vert
Écrire le minimum de code :
class Calculator {
add(a, b) {
return a + b;
}
}
✅ Test passe !
Étape 3 : Refactor
Améliorer si nécessaire :
class Calculator {
add(a, b) {
if (typeof a !== 'number' || typeof b !== 'number') {
throw new Error('Arguments must be numbers');
}
return a + b;
}
}
🔄 Code amélioré, tests toujours verts.
Piège d’entretien : ne sautez jamais la phase rouge — voir le test échouer d’abord prouve qu’il teste vraiment quelque chose. Un test qui n’a jamais été rouge peut passer pour de mauvaises raisons.
Interro écrite
6 questions pour valider la fiche. Une seule réponse par question.
/6