Você está na página 1de 25

JUnit

Uma ferramenta para testes


Judson Melo Bandeira - judsonnosduj@gmail.com

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 (Netbeans)


Primeiramente, vamos criar um projeto java qualquer.

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.

Outros tipos de dados


Tambm podemos fazer testes com outros tipos de dados...

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

Você também pode gostar