Olá, meu nome é Dmitry Karlovsky. E você está no canal Core Dump , onde pegamos vários tópicos da ciência da computação e os desconstruímos nas prateleiras. Começaremos com o desenvolvimento orientado a testes.
Desenvolvimento Orientado a Testes
A essência dessa abordagem é ritualizar o processo de desenvolvimento. Ou seja, na execução incondicional não crítica de certas ações simples.
Este ritual tornará seu código bonito e confiável. Será fácil e simples de manter. E o desenvolvimento será simples e rápido. Isso é, de qualquer forma, fortemente convencido pelos pregadores do TDD.
Gravação de vídeo desta análise .
A essência do TDD
Em suma, o ciclo ritual consiste em 3 etapas: primeiro, o teste vermelho é escrito; então, o código é escrito ou corrigido para que o teste fique verde; e finalmente o código é refatorado para manter os testes esverdeados.
E então surge a questão imediatamente, a questão de um milhão ...
O que fazer quando o teste está inicialmente verde?
Opções de resposta ...
- Quebrar o código
- Excluir teste
- É impossível
Se você quebrar seu código, seus testes ficarão vermelhos naturalmente. E depois de revertermos a alteração, os testes ficarão verdes novamente.
Você pode excluir o teste. Afinal, se não houver teste, não haverá problema com sua cor original.
, : 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?
, , ..
..
- -
, . .
- , , - , .
. .