O presente artigo pretende mostrar ao leitor o caminho das pedras para iniciar com o TDD em Java. Mas antes é preciso saber o que é Desenvolvimento Guiado por Testes? E como ele pode nos ajudar?

Gerenciar a complexidade por meio de testes em pequenas unidades do sistema é a receita desta metodologia para alcançar códigos enxutos, funcionais e livre de bugs, os três pilares do TDD apresentados na figura ao lado nos proporcionam uma visão holística, observamos um ciclo de desenvolvimento simples, verifica-se a falha, correge-se a falha e em seguida otimiza-se o código.

Agora que já compreendemos como funciona a técnica vamos descobrir como podemos trabalha-la com Java. Antes de mais nada precisamos dispor de um IDE com suporte ao JUnit sugiro o Eclipse um dos mais populares para o desenvolvimento em Java, mas o que é mesmo esse tal de JUnit?

O JUnit é um framework open-source, ele nos permite realizar testes automatizados com apresentação de resultados, o que torna o processo de teste de software bem mais divertido, para isso ele testa o menor dos componentes de um sistema de maneira isolada. Cada uma dessas unidades define um conjunto de estímulos (chamada de métodos), e de dados de entrada e saída associados a cada estímulo. As entradas são parâmetros e as saídas são o valor de retorno, exceções ou o estado do objeto.

Tipicamente um teste unitário executa um método individualmente e compara uma saída conhecida após o processamento da mesma. O JUnit tem sido uma ferramenta de suma importância na popularização do TDD.

Exemplo implementado em java, utilizando o JUnit 4.0:

import org.junit.Assert;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TesteMultiplica {
 @Test
 public void multiplication() {
 // Testando se 2*2=4:
 assertEquals("Multiplica", 4, 2 * 2);
 }
 }
 public class MultiplicaValores {
 /**
 * Método que retorna a Multiplicação dos valores passados por parâmetro.
 */
 public static int multiplication(int i, int j) {
 return i*j;
 }
 }

 

Autor: Bruno Ribeiro Gobbi