Tópicos sobre escrita de testes com JUnit

From Wiki**3

Revision as of 17:53, 25 October 2009 by Root (talk | contribs)

Quando se produz um programa, é importante garantir que funciona de acordo com as especificações. É, no entanto, difícil de dar esta garantia, especialmente em programas complexos. Com o propósito de simplificar a tarefa, os testes podem ser realizados modularmente, i.e., testanto a aplicação por partes. Assim, se todos os módulos se comportam individualmente segundo as especificações, é mais simples de produzir testes que avaliem o comportamento da aplicação como um todo.

JUnit é uma biblioteca que simplifica e sistematiza a produção de testes para cada um dos componentes (as unidades) da aplicação. Embora seja uma biblioteca Java, o princípio que materializa é geral e, de facto, existem versões para outras linguagens (cppunit, por exemplo, para C++; phpunit, para PHP, etc.).

Na prática, os testes executam como asserções sobre expectativas, i.e., cada bateria de teste ou teste individual verifica se uma dada propriedade é verificada pelas instâncias das classes em teste (ou pelos resultados das operações sobre essas instâncias). As propriedades podem ser booleanas (verdadeiro/falso), igualdade, etc.

A execução pode ser realizada pelos processos normais em Java, por recurso a um método main ou podem ser utilizadas classes específicas para execução de testes (runners), que na forma mais simples e directa executam todos os métodos cujo nome comece por “test”.

Numa classe de teste, podem ainda ser definidos os métodos setUp e tearDown que, respectivamente, preparam a execução de cada teste e executam procedimentos de limpeza após cada teste.

Como Obter

Exemplos

Exercícios

  • Album - an album and its cards