Geralmente, nós desenvolvedores deixamos para testar nossos softwares após o término de sua codificação. Isso porque testar é chato, porém necessário. Essa não é uma prática muito recomendável, pois se os testes forem feitos durante o desenvolvimento da aplicação muito menos bugs seriam encontrados nos softwares.
Neste artigo vou apresentar uma modalidade de testes muito interessante, o
teste unitário, ou teste por unidade e ensinarei como implementar essa modalidade na linguagem
Java com a ajuda do poderoso
framework JUnit.
O que é teste unitário?
Teste unitário é aquele que testa separadamente a menor parte de um software, como por exemplo o método de uma classe. Você fornece a resposta certa e ele verifica se o retorno do método é igual a resposta fornecida.
É útil para testar o software pouco a pouco, e ter certeza de que todos os métodos / funcionalidades funcionam a contento.
JUnit
JUnit é um framework open source que possibilita a criação de testes unitários em Java.
O JUnit possibilita a criação das classes de testes. Estas classes contém um ou mais métodos para que sejam realizados os testes, podendo ser organizados de forma hierárquica, de forma que o sistema seja testado em partes separadas, algumas integradas ou até mesmo todas de uma só vez.
Além disso, este framework tem como objetivo facilitar a criação de casos de teste, além de permitir escrever testes que retenham seu valor ao longo do tempo, ou seja, que possam ser reutilizáveis.
Para instalar o JUnit, primeiramente faça o download em seu site oficial:
Após ter baixado o framework, copie o arquivo .jar para o CLASSPATH, caminho que o seu compilador Java procura pelas classes. Depois disso, é só usar.
Convenções
É recomendado que os testes sejam separados do software, geralmente eles ficam numa pasta chamada "tests", veja o exemplo:
- /matematica -> aqui vão os arquivos do software;
- /matematica/tests -> aqui vão os testes.
É recomendado também que todas as classes de teste tenham o sufixo "Test" e os métodos a serem testados devem ter o nome prefixado com "test":
Classe: Matematica;
Métodos da classe Matematica: add, subtract, multiply, divide;
Classe: MatematicaTest;
Métodos da classe MatematicaTest: testadd, testsubtract, testmultiply, testdivide.