Artigo Java Magazine 07 - Testes unitários

Artigo publicado pela Java Magazine 07.

Esse artigo faz parte da revista Java Magazine edição 07. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Testes unitários

JUnit, automação com Ant e sugestões para a a implantação eficaz de testes unitários 

 A criação de testes unitários pode parecer, de início, algo trabalho­so e possivelmente sem retorno no desenvolvimento, mas quando testes são implementados de maneira produtiva, as vantagens começam a aparecer, tão cedo quanto as primeiras mudanças no ambiente ou nas funcionalidades da aplicação.

 

Imagine mudar o tipo do campo de uma tabela acessada por mais de um compo­nente Java, por exemplo. Pode parecer complicado garantir que o sistema conti­nua funcionando corretamente após uma mudança desse tipo, mas é aí que entram os testes sistematizados e automatizados. Testes executados diariamente, de forma automática, apontam problemas assim que eles acontecem, reduzindo bastante o custo de consertá-los.

Neste artigo, veremos como criar testes unitários com o JUnit e como automatizá-los com o Ant, além de discutir sugestões e melhores práticas.

JUnit

O JUnit é um framework de testes já bastante conhecido e amplamente usado no mercado. As principais ferramentas de desenvolvimento se integram com o JUnit e existem muitas extensões e ferramentas livres.

A criação de testes com o JUnit é simples – tudo é feito seguindo um modelo de programação bem definido e auxiliado por uma biblioteca. O framework inclui, basicamente:

 

• Uma classe base, que as classes de testes da aplicação devem estender;

 

• Um conjunto de métodos auxiliares para a verificação de asserções, tais como checar a igualdade do conteúdo de dois objetos;

 

• Ferramentas para execução dos testes.

O diagrama UML da Figura 1 mostra o que é necessário para criar uma classe de teste do JUnit: estender a classe TestCase e criar métodos com o prefixo test. As subclasses de TestCase são automaticamente reconheci­das pelo ambiente de execução do JUnit.

Os métodos herdados da classe Assert são usados para verificar o resultado de ope­rações nos testes. Também é possível criar “suítes” compostas por várias classes de teste através do método estático suite.

Existem, ainda, dois métodos importan­tes, também herdados da classe TestCase, que devem ser redefinidos quando necessário:

 

setUp – usado para gerar um fixture, um conjunto de objetos inicializados com­partilhado por vários testes. É executado antes de cada método de testes, de modo a garantir que cada um inicie com uma situação conhecida. setUp também pode ser usado para alocar recursos, tais como conexões com bancos de dados;

 

tearDown – executado após cada método de teste; pode ser usado para liberar recursos alocados durante o método setUp, por exemplo fechando conexões com bancos de dados. Muitas vezes, não é necessário implementar tearDown, já que cada teste é executado em uma nova instância de "

[...] continue lendo...

Artigos relacionados