TDD para Dummies

Feb 27 2023
Em minha carreira como Desenvolvedor de Software, até pouco tempo atrás, nunca me interessei tanto por testes, pois não entendia seu real valor. Depois de um tempo pesquisando, estudando e fazendo provas de conceito, agora posso escrever sobre testes e porque usar TDD em sua rotina diária de programação.

Em minha carreira como Desenvolvedor de Software, até pouco tempo atrás, nunca me interessei tanto por testes, pois não entendia seu real valor . Depois de um tempo pesquisando, estudando e fazendo provas de conceito, agora posso escrever sobre testes e porque usar TDD em sua rotina diária de programação .

Primeiro, o que é TDD?

Não, não é um padrão de teste, TDD é um acrônimo para Test Driven Development , e funciona com ciclos:

Ciclo TDD

Fonte: controle de qualidade de impacto

  • Primeiro passo, você criará um teste de unidade que falha, sim, falha ! porque seu teste sempre vem primeiro do que sua aula de produção. Um bom primeiro teste que sempre uso é garantir que minha classe ou função seja chamada com os valores corretos.
  • Segundo passo, em sua aula de produção escreva apenas o código necessário para fazer seu teste passar , tenha paciência, vai valer a pena.
  • Terceira e última etapa, hora da refatoração ! agora você fará o melhor código possível para a classe de produção, usará seus padrões preferidos e obterá o código o mais rápido possível.

A ideia desses ciclos é classificar os comportamentos de suas classes unitariamente, para garantir sempre que seu código fará o que você deseja sem maiores problemas. Às vezes você pode esquecer de testar um bug ou recurso, mas com três etapas fáceis você pode resolvê-lo ( COMECE A TESTAR AGORA MESMO ).

Vantagens de usar TDD

  • Evite codificação complexa, você sempre pensa no que precisa fazer antes de fazê-lo ou prefere não saber o que está fazendo antes de fazê-lo?
  • Refatore o código o tempo todo;
  • Cobertura completa de suas aulas, você sempre terá informações de como seu código está funcionando e se passou em todos os testes;
  • Simplifica a remoção de arquivos e ajuda a fazer alterações no código quando necessário;
  • Evita o retrabalho de várias maneiras
  • Nenhum, o tempo extra para o teste economizará muito trabalho.
  • Jest , funciona com JavaScript:
  • JUnit , funciona com Java:
  • Pytest , funciona com Python:
  • PHPUnit , funciona com PHP:
  • XUnit , trabalha com . NET Framework:

Obrigado por ler, até logo! alguma sugestão?