O documento discute a importância de se escrever testes de unidade para automatizar os testes de código e garantir sua qualidade. Testes de unidade testam pequenas partes isoladas do código e podem reduzir o tempo de desenvolvimento. Ao automatizar os testes, desenvolvedores podem testar frequentemente e ter mais confiança ao modificar o código, melhorando também a manutenibilidade do projeto.
12. O que é teste de unidade?
Um pedaço de código que irá chamar outro pedaço de código e
irá verificar algumas suposições. Caso as suposições sejam erradas, o
teste irá falhar. Unidade é um único e determinado comportamento.
16. Outros benefícios
• Meu sistema funciona!!!
• Testes de Regressão
• Não tenho medo de alterar meu código
• No final das contas, sai mais barato
• É mais fácil de encontrar um bug no código
• Você consegue ver melhor como seu código será usado
• Muito mais divertido!
• Melhora a qualidade do código
23. Benefícios
• Foco no objetivo
• Código nasce testado
• Sem soluções complexas
• Código limpo, mais coeso e menos desacoplado
• Maior cobertura de código
• Satisfação de ver seu sistema funcionando de ponta a ponta
24. Mas... Não é a mesma coisa
que escrever os testes
depois???
27. Refatoração
É uma técnica disciplinada para reestruturar um corpo existente
de código, alterando a sua estrutura interna sem alterar seu
comportamento externo.
28. E o que eu ganho com isso?
• Comentários no código se tornam desnecessários
• Código pode ser facilmente entendido por todos
• Fácil de testar
• Fácil de compreender
• Extensibilidade
• Melhor leitura e escrita
29. Até quando eu devo testar?
• Desencane de cobrir 100% o seu código
• Teste até onde os testes de unidade são necessários
• Teste somente o que é relevante
30. O que não testar
• Getters
• Setters
• Classes da linguagem
• Trechos simples demais
• Integração entre partes do sistema (falando em testes de unidade)
• Quando você sabe que o teste vai passar antes de implementar