Junit, uma ferramenta para testes! [ passo a passo ]

15,251 views
14,947 views

Published on

aprenda JUNIT facilmente

Published in: Technology

Junit, uma ferramenta para testes! [ passo a passo ]

  1. 1. JUnitUma ferramenta para testes Judson Melo Bandeira - judsonnosduj@gmail.com
  2. 2. JUnitO JUnit é um framework open-source, criadopor Erich Gamma e Kent Beck, com suporte àcriação de testes automatizados na linguagemde programação Java. Wikipédia
  3. 3. JUnitCom o JUnit temos a facilidade de criarcódigos para testes. Com isso, ganhamosalgumas vantagens. 1. Permite a criação rápida de código de teste enquanto possibilita um aumento na qualidade do sistema sendo desenvolvido e testado; 2. Não é necessário escrever o próprio framework; 3. Amplamente utilizado pelos desenvolvedores da comunidade código-aberto, possuindo um grande número de exemplos; 4. Uma vez escritos, os testes são executados rapidamente sem que, para isso, seja interrompido o processo de desenvolvimento; 5. JUnit checa os resultados dos testes e fornece uma resposta imediata; 6. Pode-se criar uma hierarquia de testes que permitirá testar apenas uma parte do sistema ou todo ele; 7. Escrever testes com JUnit permite que o programador perca menos tempo depurando seu código; 8. JUnit é LIVRE. Wikipédia
  4. 4. Como usar (Netbeans)Primeiramente, vamos criar um projeto java qualquer.
  5. 5. Como usarEm seguida, criamos uma nova classe e alguns métodos para ela.
  6. 6. PerguntaSerá que quando criamos os métodos temos acerteza de que eles estão me retornando ovalor correto? Ou em caso mais geral, será queestão fazendo o que realmente deveriamfazer?
  7. 7. Proposta de SoluçãoVamos testá-los com o JUnit!
  8. 8. Como usarClique com o botão direito na classe, aponte para ferramentas e depois clique em Criar testes JUnit.
  9. 9. Como usarEscolha inicialmente o JUnit versão 3 (e desative o inicializador e finalizador de testes e dê ok).Vemos que será criado um pacote para testes no projeto, além da classe de testes [nomedaclasse]Test.
  10. 10. Como usarVimos que os métodos de teste test[nomedométodo] também foram criados automaticamente. Daínós já percebemos uma vantagem que é economia de tempo para o programador, além do código seraberto.
  11. 11. Mão na massa!Vamos modificar os métodos e rodar o JUnit!
  12. 12. Mão na massaUtilizamos para leitura do JUnit o assertEquals, que vamos fazer uma análise: ( valor que eu esperoque a função me retorne, valor que a função me retorna ). Se forem iguais, passa no teste.
  13. 13. Mão na massaVamos fazer o JUnit testar! Para isso, executea classe de teste.
  14. 14. Mão na massaSerá mostrada a porcentagem dos testes quepassaram. No nosso caso, todos os testespassaram, portanto, 100%
  15. 15. Mão na massaAgora vamos supor que por algum descuidoerrássemos o código do método subtrair:
  16. 16. Mão na massaComo colocamos no teste, queríamos subtrair5-3. O resultado é 2. porém como erramos ométodo, ele me retornaria 15. O JUnit nosmostra isso.
  17. 17. Mão na massaSão dois testes. Como um falhou, 50% passaram no teste. Veja que "se espera 2.0" mas a função meretorna 15.0
  18. 18. Outro modoTemos outras asserções, como assertTrue eassertFalse. Passa pelo teste se o que estádentro de assertTrue for true e se o que estádentro de assertFalse for false.
  19. 19. Mão na massaPor que não passou pelo teste? Porque o que estava dentro do assertFalse era true, e para passarpor ele devemos ter um false como resultado.
  20. 20. Mão na massaVamos supor agora que tenhamos milhares de testes e que queremos desprezar um deles. Porexemplo, nesse teste que o testSubtrair está dando erro, podemos desprezá-lo inserindo o prefixoDISABLED_ no nome da classe.
  21. 21. Outros tipos de dadosTambém podemos fazer testes com outros tipos de dados...
  22. 22. ContinuandoSe quisermos que um teste dure um certotempo, ou seja, que ele não demore, podemosfazer com que o teste falhe caso passe de umdeterminado tempo limite para ser executado.
  23. 23. Mão na massa
  24. 24. Mão na massaCaso marquemos as opções inicializador efinalizador de teste, podemos configurar oJUnit para fazer algo antes de fazer um teste edepois de fazê-lo.
  25. 25. Mão na massa

×