JUnit - Implementando testes unitários em Java - Parte II

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (17)  (0)

Veja a segunda e última parte deste artigo sobre implementação de testes unitários.

 JUnit - Implementando testes unitários em Java – Parte II

 

Eclipse – Automatizando a criação do Test Case

Você viu no tópico anterior (Parte I), o código já pronto do test case, porém o Eclipse pode ajudá-lo automatizando parte da criação do código do teste.

Para isso, como mostra a figura 12, clique no menu File\New   e escolha a opção Other.

 

mpjuiiujfig12.jpg

Figura 12. Iniciando a automatização da criação da classe de teste.

 

Em seguida (ver figura 13), surgirá a tela New, onde você escolherá a opção JUnit Test Case, depois clique em Next.

 

mpjuiiujfig13.jpg

Figura 13. Escolhendo na tela new, a opção para criação do test case.

 

Logo surgirá a tela do assistente de criação do Test Case (ver figura 14), onde você pode definir o nome da pasta onde ficará o  arquivo de teste, nome do pacote, nome do teste, superclasse, quais métodos serão implementados e o nome classe que será testada, depois basta clicar em Next.

 

mpjuiiujfig14.jpg

Figura 14. Assistente para criação do test case.

 

A seguir, como mostra a figura 15, você irá escolher os métodos a serem testados e por final clicar em Finish.


mpjuiiujfig15.jpg

Figura 15. Escolha dos métodos as serem testados.

 

E veja finalmente na figura 16, o resultado com a classe gerada pelo assistente, note que o Eclipse não gera os códigos referentes às declarações assertivas, ou seja, você terá que implementá-los à mão.


mpjuiiujfig16.jpg

Figura 16. Resultado da classe gerada pelo  assistente.

 

Eclipse – Outro exemplo e outros métodos de teste

Veja na figura 17, o exemplo de uso de outro método assertivo de teste, o assertTrue(), que analisa o retorno booleano do  método instanciado  no atributo b .

 

mpjuiiujfig17.jpg

Figura 17. Resultado da classe gerada pelo assistente.

 

Existem ainda outros métodos de testes assertivos usados pelo JUnit como, por exemplo:

 

n       assertEquals - Testa igualdade entre dois objetos(esperado x retornado).

n       assertFalse( ) - Testa Retorno booleano  FALSO.

n       assertTrue( ) - Testa Retorno booleano  VERDADEIRO.

n       assertNotNull( )- Testa se um valor de um objeto NÃO está NULO.

n       assertNull( ) - Testa se um valor de um objeto está NULO.

 

Métodos setUp() e tearDown()

Conforme mostra na figura 18, são métodos que inicializam  e destroem em eu único lugar  os dados reutilizados por vários testes, esses atributos são Inicializados no setUp() e destruídos no tearDown() (se necessário).


mpjuiiujfig18.jpg
Figura 18
. Uso do método setUP().

  

 

Eclipse - Criando  Test Suíte

A principal função de um test suíte é rodar vários test cases ao “mesmo tempo”, na verdade trata-se  de uma classe que contém métodos que disparam a execução de vários test cases.

O Eclipse também disponibiliza de maneira simples um assistente para a criação de classes de testes suítes.

Para iniciar a criação dessa classe, clique em  File\New\ escolha a opção Other  e conforme a figura 19, escolha a item JUnit Test Suíte em seguida clique em Next.

 

mpjuiiujfig19.jpg
Figura 19
. Tela new para escolha do item JUnit Test Suíte.

 

Em seguida, conforme a figura 20, surgirá a tela do assistente de criação do test suíte, nela você irá definir o nome do test suíte e escolher quais test cases serão executados automaticamente, logo após clique em Finish  para terminar o assistente.

 
mpjuiiujfig20.jpg 

Figura 20. Tela do assistente de criação do teste suíte.

 

E por último, como na figura 21, aparecerá a classe de test suíte criada.

Note que o principal método usado por essa classe é o addTestSuite()  que invoca uma classe de teste case, e por isso que é possível rodar vários testes, pois podemos usar várias vezes esse método para cada test case de nosso projeto.

Vale lembrar que a forma de executar essa classe é da mesma forma como se executa em test case, portando, sua forma de exibição do resultado semelhante, com única diferença que será mostrada o uma lista  em árvore com o resultado de cada test case executado.

 

mpjuiiujfig21.jpg
Figura 21
. Classe de teste suíte criada.

 

Técnicas complementares

Claro que somente o teste unitário não cobre toda a demanda de testes que seu projeto possa necessitar, para isso é importante lembrar que existem  que existem outras técnicas e ferramentas de testes que podem ser aplicadas como, por exemplo:

 

n       Teste de Performance,

n       Teste de Carga,

n       Teste de estresse,

n       Teste de aceitação, etc.

 

Conclusões

Bem caro amigo, espero sinceramente com este artigo ter mais uma vez cumprido meu papel de simples  “evangelizador” de Extreme Programming.

Particularmente eu acredito que uso da pratica de testes unitários tem crescido muito principalmente por se tratar de uma prática XP ao nível de codificação muito importante para programadores e também por já existir ferramentas e frameworks para várias linguagens como Java, Delphi, .Net. C++, C#  e  SmallTalk, o que facilita sua adoção e modulariza o uso de Extreme Programming.

Espero também que você tenha compreendido  bem esse artigo, e mais ainda, gostaria muito que caso você ainda não use testes unitários em seus projetos, que passe a usá-los, pois somente assim verá a real vantagem que ela pode lhe proporcionar.

 Qualquer dúvida sinta-se a vontade em me contactar pelo e-mail: manoel_consultor@yahoo.com.br ou pelo site de nosso grupo de usuários XPNorte  br.groups.yahoo.com/group/xpnorte .

 

Obrigado e até a próxima.

 

Links

www.junit.org

Site oficial do Junit.

 

www.java.com

Site oficial Sun para a plataforma Java. 

 

www.eclipse.org

Site oficial do projeto Eclipse.

 

br.groups.yahoo.com/group/xpnorte   

Site do grupo de usuários Extreme Programming da região Norte do Brasil.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?