No curso, é apresentado que o TDD possui três princípios básicos:
- "...Implementar um teste, que vai falhar..."
- "...Não escrever nada além do necessário para que um teste falhe..."
- "...Depois não escrever nada além do necessário para que o método passe no teste..."
O terceiro é bem genérico e confuso. Diante disso, fui atrás de outras definições para esclarecer melhor o entendimento e notei que diversas outras fontes e livros apontam outros princípios. Eles apontam para o que é conhecido como o ciclo "Red-Green-Blue" , ou "Red-Green-Refactoring" , que consiste em:
- Red: Escrever um teste que vai falhar;
- Green: Escrever o código para passar no teste;
- Refactor: Refatorar nomes de variáveis, eliminar redundâncias e aplicar padrões.
Dúvida: Quais são os princípios corretos que devemos seguir?