Escolar Documentos
Profissional Documentos
Cultura Documentos
JUnit
O JUnit um framework open-source, criado
por Erich Gamma e Kent Beck, com suporte
criao de testes automatizados na linguagem
de programao Java.
Wikipdia
JUnit
Com o JUnit temos a facilidade de criar
cdigos para testes. Com isso, ganhamos
algumas vantagens.
1.
2.
3.
4.
5.
6.
7.
8.
Permite a criao rpida de cdigo de teste enquanto possibilita um aumento na qualidade do sistema sendo
desenvolvido e testado;
No necessrio escrever o prprio framework;
Amplamente utilizado pelos desenvolvedores da comunidade cdigo-aberto, possuindo um grande nmero
de exemplos;
Uma vez escritos, os testes so executados rapidamente sem que, para isso, seja interrompido o processo
de desenvolvimento;
JUnit checa os resultados dos testes e fornece uma resposta imediata;
Pode-se criar uma hierarquia de testes que permitir testar apenas uma parte do sistema ou todo ele;
Escrever testes com JUnit permite que o programador perca menos tempo depurando seu cdigo;
JUnit LIVRE.
Wikipdia
Como usar
Em seguida, criamos uma nova classe e alguns mtodos para ela.
Pergunta
Ser que quando criamos os mtodos temos a
certeza de que eles esto me retornando o
valor correto? Ou em caso mais geral, ser que
esto fazendo o que realmente deveriam
fazer?
Proposta de Soluo
Vamos test-los com o JUnit!
Como usar
Clique com o boto direito na classe, aponte para ferramentas e depois clique em Criar testes JUnit.
Como usar
Escolha inicialmente o JUnit verso 3 (e desative o inicializador e finalizador de testes e d ok).
Vemos que ser criado um pacote para testes no projeto, alm da classe de testes [nomedaclasse]
Test.
Como usar
Vimos que os mtodos de teste test[nomedomtodo] tambm foram criados automaticamente. Da
ns j percebemos uma vantagem que economia de tempo para o programador, alm do cdigo ser
aberto.
Mo na massa!
Vamos modificar os mtodos e rodar o JUnit!
Mo na massa
Utilizamos para leitura do JUnit o assertEquals, que vamos fazer uma anlise: ( valor que eu espero
que a funo me retorne, valor que a funo me retorna ). Se forem iguais, passa no teste.
Mo na massa
Vamos fazer o JUnit testar! Para isso, execute
a classe de teste.
Mo na massa
Ser mostrada a porcentagem dos testes que
passaram. No nosso caso, todos os testes
passaram, portanto, 100%
Mo na massa
Agora vamos supor que por algum descuido
errssemos o cdigo do mtodo subtrair:
Mo na massa
Como colocamos no teste, queramos subtrair
5-3. O resultado 2. porm como erramos o
mtodo, ele me retornaria 15. O JUnit nos
mostra isso.
Mo na massa
So dois testes. Como um falhou, 50% passaram no teste. Veja que "se espera 2.0" mas a funo me
retorna 15.0
Outro modo
Temos outras asseres, 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.
Mo na massa
Por que no passou pelo teste? Porque o que estava dentro do assertFalse era true, e para passar
por ele devemos ter um false como resultado.
Mo na massa
Vamos 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.
Continuando
Se quisermos que um teste dure um certo
tempo, ou seja, que ele no demore, podemos
fazer com que o teste falhe caso passe de um
determinado tempo limite para ser executado.
Mo na massa
Mo na massa
Caso marquemos as opes inicializador e
finalizador de teste, podemos configurar o
JUnit para fazer algo antes de fazer um teste e
depois de faz-lo.
Mo na massa