Já li o tutorial do GUJ sobre JUnit, li alguns livros sobre XP que falam do JUnit, mas ainda algumas coisas não ficaram claras para mim.
Tudo dentro do software deve ser testado? eu pergunto isso, pois a maioria dos exemplos que vemos em tutoriais/artigos por ae, geralmente testa apenas alguns métodos de cálculos ou manipulação de string por exemplo.
Mas a maioria dos softwares aqui da empresa, são software que esses métodos é a minoria. São sistemas WEB que trabalha com a iteração entre usuário e banco de dados, ou seja, grava no banco, busca informação do banco, etc etc etc. Geralmente os “testes” que eu preciso fazer, é em relação aos campos obrigatórios preenchidos no formulario HTML que o servlet recebe e assim vai.
Nesses casos, como eu posso fazer meus testes unitários utilizando o JUnit (se é que é aconselhável)?
Você deve testar só aquilo que você achar que pode falhar. Você acha que seus métodos de validação podem falhar? Então faça testes que simulem os cenários em que você imagina que seu método de validação possa falhar. Você acha que seus métodos de interação com banco de dados podem falhar também? Faça a mesma coisa: teste-os.
Algumas coisas realmente não valem a pena ser testados. Métodos getXXX/setXXX são exemplos disso.
E é isso.
Todo código tem que ser testado, sem excessão. Isso garante que quaisquer mudanças de comportamento devido a evolução ou refactoring que podem acabar sendo um bug vão ser pegas.
Isso importa muito quando se trabalha em equipe e/ou se usa um ambiente de integração continuada.
[quote=“louds”]Todo código tem que ser testado, sem excessão. Isso garante que quaisquer mudanças de comportamento devido a evolução ou refactoring que podem acabar sendo um bug vão ser pegas.
Isso importa muito quando se trabalha em equipe e/ou se usa um ambiente de integração continuada.[/quote]
Talvez, mas testar tudo pode ser consativo e improdutivo. Acredito ser mais importante, como o Daniel disse, testar apenas o que pode falhar, ou você vai ficar o dia todo escrevendo testes que no fim não acrescentam muito ao projeto…