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

25
JUnit Uma ferramenta para testes Judson Melo Bandeira - [email protected]

Upload: judson-melo-bandeira

Post on 07-Dec-2014

9.061 views

Category:

Technology


4 download

DESCRIPTION

aprenda JUNIT facilmente

TRANSCRIPT

Page 1: Junit, uma ferramenta para testes! [ passo a passo ]

JUnit

Uma ferramenta para testes

Judson Melo Bandeira - [email protected]

Page 2: Junit, uma ferramenta para testes! [ passo a passo ]

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 ]

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 ]

Como usar (Netbeans)Primeiramente, vamos criar um projeto java qualquer.

Page 5: Junit, uma ferramenta para testes! [ passo a passo ]

Como usarEm seguida, criamos uma nova classe e alguns métodos para ela.

Page 6: Junit, uma ferramenta para testes! [ passo a passo ]

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 ]

Proposta de Solução

Vamos testá-los com o JUnit!

Page 8: Junit, uma ferramenta para testes! [ passo a passo ]

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 ]

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 ]

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 ]

Mão na massa!

Vamos modificar os métodos e rodar o JUnit!

Page 12: Junit, uma ferramenta para testes! [ passo a passo ]

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 ]

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 ]

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 ]

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 ]

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 ]

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 ]

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 ]

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 ]

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 ]

Outros tipos de dadosTambém podemos fazer testes com outros tipos de dados...

Page 22: Junit, uma ferramenta para testes! [ passo a passo ]

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 ]

Mão na massa

Page 24: Junit, uma ferramenta para testes! [ passo a passo ]

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 ]

Mão na massa