Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Os 3 princípios básicos do TDD

No curso, é apresentado que o TDD possui três princípios básicos:

  1. "...Implementar um teste, que vai falhar..."
  2. "...Não escrever nada além do necessário para que um teste falhe..."
  3. "...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:  

  1. Red: Escrever um teste que vai falhar;
  2. Green: Escrever o código para passar no teste;
  3. 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?

1 resposta
solução!

Olá! Bom dia!

Agradeço por compartilhar sua dúvida conosco.

Na verdade, ambas as definições que você encontrou estão corretas e não são mutuamente exclusivas. Os três princípios que você mencionou no início da sua pergunta são os princípios básicos do TDD, enquanto o ciclo "Red-Green-Refactor" é uma maneira comum de implementar esses princípios na prática.

O terceiro princípio que você mencionou pode parecer genérico e confuso, mas a ideia é que você não deve escrever mais código do que o necessário para que o teste passe. Isso significa que você deve escrever apenas o suficiente para que o teste funcione e, em seguida, refatorar o código para torná-lo mais limpo e legível.

O ciclo "Red-Green-Refactor" é uma maneira de implementar esses princípios na prática. Você escreve um teste que falha (Red), escreve código para fazê-lo passar (Green) e, em seguida, refatora o código para torná-lo mais limpo e legível (Refactor).

Espero ter ajudado a esclarecer sua dúvida. Se você tiver mais perguntas, não hesite em perguntar.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software