Bonjour, je m'appelle Dmitry Karlovsky. Et vous êtes sur Core Dump , où nous prenons différents sujets de l'informatique et les déconstruisons morceau par morceau. Nous allons commencer par un développement piloté par les tests.
Développement piloté par les tests
L'essence de cette approche est de ritualiser le processus de développement. C'est-à-dire dans l'exécution inconditionnelle non critique de certaines actions simples.
Ce rituel rendra votre code beau et fiable. Il sera facile et simple à entretenir. Et le développement sera simple et rapide. Ceci est en tout cas fortement convaincu par les prédicateurs du TDD.
Enregistrement vidéo de cette analyse .
L'essence du TDD
En bref, le cycle rituel se compose de 3 étapes: d'abord, le test rouge est écrit; puis le code est écrit ou corrigé pour que le test vire au vert; et enfin le code est refactorisé pour garder les tests verdâtres.
Et puis la question se pose immédiatement, la question du million ...
Que faire lorsque le test est initialement vert?
Options de réponse ...
- Briser le code
- Supprimer le test
- C'est impossible
Si vous cassez votre code, vos tests deviendront naturellement rouges. Et après avoir annulé le changement, les tests redeviendront verts.
Vous pouvez supprimer le test. Après tout, s'il n'y a pas de test, il n'y a aucun problème avec sa couleur d'origine.
, : TDD . - , . , .
, , : — . , , TDD.
, . , : " ?". . — . , " ", . - , ?
, TDD , - , , . , . .
— , , 2 . ?
. , , . TDD , , , , , -, . .
- R ⇝ G
- R ⇝ G
- R ⇝ G
- G ?
- G ?
- G ?
- G ?
- G ?
, TDD, , . , . , .
, TDD: , .
TDD
, , TDD ...
" ?". , . . . , . , , . , . , .
. , . , . , .
, , , " ?". , — , — -. , . , .
TDD . ...
TDD
TDD , . , .
...
1 | R | R | G |
2 | GR | RR | GG |
3 | GGR | RRR | GGG |
4 | GGGR | GGRR | GGGG |
5 | GGGGR | GGGGR | GGGGG |
6 | GGGGGR | RRRRRR | GGGGGG |
. , , . , , . .
, - , . TDD - .
, , . . " , ". , , .
TDD
TDD , . ..
, , , .
, , , , , . , TDD, . , Test Driven, .
, TDD - . , TDD . .
TDD?
- , " TDD", , , . TDD , . , .
- :-(
- :-(
- :-(
- , :-)
- :-)
TDD, TDD . , , . , , - . TDD. — . - . , , , .
TDD?
, , ..
..
- -
, . .
- , , - , .
. .