Junit, uma ferramenta para testes! [ passo a passo ]
-
Upload
judson-melo-bandeira -
Category
Technology
-
view
9.061 -
download
4
description
Transcript of Junit, uma ferramenta para testes! [ passo a passo ]
![Page 2: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/2.jpg)
JUnit
O JUnit é um framework open-source, criado por Erich Gamma e Kent Beck, com suporte à criação de testes automatizados na linguagem de programação Java.
Wikipédia
![Page 3: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/3.jpg)
JUnit
Com o JUnit temos a facilidade de criar códigos para testes. Com isso, ganhamos algumas 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
![Page 4: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/4.jpg)
Como usar (Netbeans)Primeiramente, vamos criar um projeto java qualquer.
![Page 5: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/5.jpg)
Como usarEm seguida, criamos uma nova classe e alguns métodos para ela.
![Page 6: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/6.jpg)
Pergunta
Será que quando criamos os métodos temos a certeza de que eles estão me retornando o valor correto? Ou em caso mais geral, será que estão fazendo o que realmente deveriam fazer?
![Page 7: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/7.jpg)
Proposta de Solução
Vamos testá-los com o JUnit!
![Page 8: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/8.jpg)
Como usarClique com o botão direito na classe, aponte para ferramentas e depois clique em Criar testes JUnit.
![Page 9: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/9.jpg)
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.
![Page 10: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/10.jpg)
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 ser aberto.
![Page 11: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/11.jpg)
Mão na massa!
Vamos modificar os métodos e rodar o JUnit!
![Page 12: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/12.jpg)
Mão na massaUtilizamos para leitura do JUnit o assertEquals, que vamos fazer uma análise: ( valor que eu espero que a função me retorne, valor que a função me retorna ). Se forem iguais, passa no teste.
![Page 13: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/13.jpg)
Mão na massa
Vamos fazer o JUnit testar! Para isso, execute a classe de teste.
![Page 14: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/14.jpg)
Mão na massa
Será mostrada a porcentagem dos testes que passaram. No nosso caso, todos os testes passaram, portanto, 100%
![Page 15: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/15.jpg)
Mão na massa
Agora vamos supor que por algum descuido errássemos o código do método subtrair:
![Page 16: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/16.jpg)
Mão na massa
Como colocamos no teste, queríamos subtrair 5-3. O resultado é 2. porém como erramos o método, ele me retornaria 15. O JUnit nos mostra isso.
![Page 17: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/17.jpg)
Mão na massaSão dois testes. Como um falhou, 50% passaram no teste. Veja que "se espera 2.0" mas a função me retorna 15.0
![Page 18: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/18.jpg)
Outro modo
Temos outras asserções, como assertTrue e assertFalse. Passa pelo teste se o que está dentro de assertTrue for true e se o que está dentro de assertFalse for false.
![Page 19: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/19.jpg)
Mão na massaPor que não passou pelo teste? Porque o que estava dentro do assertFalse era true, e para passar por ele devemos ter um false como resultado.
![Page 20: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/20.jpg)
Mão na massaVamos supor agora que tenhamos milhares de testes e que queremos desprezar um deles. Por exemplo, nesse teste que o testSubtrair está dando erro, podemos desprezá-lo inserindo o prefixo DISABLED_ no nome da classe.
![Page 21: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/21.jpg)
Outros tipos de dadosTambém podemos fazer testes com outros tipos de dados...
![Page 22: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/22.jpg)
Continuando
Se quisermos que um teste dure um certo tempo, ou seja, que ele não demore, podemos fazer com que o teste falhe caso passe de um determinado tempo limite para ser executado.
![Page 23: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/23.jpg)
Mão na massa
![Page 24: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/24.jpg)
Mão na massa
Caso marquemos as opções inicializador e finalizador de teste, podemos configurar o JUnit para fazer algo antes de fazer um teste e depois de fazê-lo.
![Page 25: Junit, uma ferramenta para testes! [ passo a passo ]](https://reader031.fdocumentos.tips/reader031/viewer/2022013111/548c462bb4795984178b5fc8/html5/thumbnails/25.jpg)
Mão na massa