Escrever e executar testes de JUnit

Nesta secção, irá utilizar a estrutura de testes JUnit para escrever e executar testes. Para começar com JUnit, pode consultar o JUnit Cookbook.

Testes de Escrita

Crie um projecto "JUnitTest". Agora pode escrever o seu primeiro teste. Implemente o teste numa subclasse de CasoTeste. Pode fazê-lo através da utilização do assistente Classe padrão ou o assistente especializado Caso de Teste:

  1. Abra o Novo Assistente (Ficheiro > Novo > Caso de Teste JUnit).
  2. Seleccione Novo teste JUnit 3 e escreva "TestFailure" como o nome da sua classe de teste:

    Assistente de criação de TestCase página 1

    Nota: e pretende utilizar os testes JUnit 4, tem de certificar-se de que a conformidade do seu compilador está definida como 5.0.

  3. Irá aparecer uma mensagem de aviso que pede para adicionar a biblioteca junit ao caminho de construção. Utilize a ligação Faça clique aqui para adicionar a biblioteca junit automaticamente.
  4. Faça clique em Terminar para criar a classe de teste.

Adicione um método de teste que falhar à classe FalhaTeste. Uma forma rápida de inserir um método de teste é com o o modelo teste. Para o fazer, coloque o cursor dentro da declaração da classe. Escreva "test" seguido de Ctrl+Space para activar a assistência de código e seleccione o modelo de "teste". Mude o nome do método criado para FalhaTeste e invoque o método fail() .

public void testFailure() throws Exception {
    fail();
}

Agora está pronto a executar o primeiro teste.

Executar Testes

Para executar TestFailure, prima no botão de executar na barra de ferramentas. O teste JUnit será então executado automaticamente. Pode inspeccionar os resultados do teste na vista JUnit. Esta vista mostra-lhe o progresso e o estado da execução do teste:

Teste falhado

A vista é apresentada na perspectiva actual sempre que iniciar uma execução de teste. Uma acção apropriada para a vista JUnit é acoplá-la como uma vista rápida. A vista JUnit tem dois separadores: um que mostra uma lista de falhas e o outro que mostra o conjunto integral de testes como uma árvore . Pode navegar de uma falha para a origem correspondente fazendo duplo clique na linha correspondente no rastreio da falha.

Acople a vista JUnit como uma vista rápida, remova a instrução fail() no método testFailure(), de forma a que o teste passe e volte a executar o teste. Pode voltar a executar um teste fazendo duplo clique no botão Voltar a executar na barra de ferramentas da vista ou pode voltar a executar o programa que foi iniciado em último lugar, activando o menu pendente Executar. Desta vez o teste deverá ter êxito. Visto que o teste teve êxito, a vista JUnit não fica emergente, mas o indicador de êxito é apresentado no ícone da vista JUnit e a linha de estado apresenta o resultado do teste. Como lembrete para voltar a executar os seus testes, o ícone da vista é decorado por um "*" sempre que mudar o conteúdo do espaço de trabalho depois da execução.

Teste bem sucedido - Uma execução de teste bem sucedida
Teste bem sucedido, mas espaço de trabalho alterou-se - Uma execução de teste bem sucedida, mas os conteúdos do espaço de trabalho alteraram-se desde a última execução de teste.

Além de executar um caso de teste como está descrito acima, também pode:

Personalizar uma Configuração de Teste

Quando pretender passar parâmetros ou personalizar as definições para uma execução de teste, abra a caixa de diálogo de Configuração de início. Seleccione Abrir caixa de diálogo Executar... na opção Executar do menu desdobrável da barra de ferramentas:

Configuração de início JUnit

Nesta caixa de diálogo pode especificar o teste a ser executado, os seus argumentos, o caminho de classe do tempo de execução e o ambiente Java do tempo de execução.

Depurar uma Falha de Teste

No caso de uma falha de teste pode seguir estes passos para a depurar:

  1. Faça duplo clique na entrada da falha no separador Falhas na vista JUnit, para abrir o ficheiro correspondente no editor.
  2. Defina um ponto de interrupção no início do método de teste.
  3. Seleccione o caso de teste e execute  Depurar Como> Teste de JUnit no menu pendente Depurar.

Uma configuração de início de JUnit tem uma opção "manter em actividade". Se a sua máquina virtual Java suportar "substituições de código em execução", poderá corrigir o código e voltar a executar o teste sem ter de reiniciar toda a execução do teste. Para activar esta opção, seleccione o quadrado de confirmação Manter JUnit em execução após uma execução de teste ao depurar na configuração de início de JUnit.

Criar uma Série de Teste

O assistente ConjuntoTestes de JUnit ajuda-o na criação de uma série de testes. Pode seleccionar o grupo de classes que deve pertencer a um conjunto.

  1. Abra o Novo assistente
  2. Seleccione Java > JUnit > Série de Testes de JUnit e faça clique em Seguinte.
  3. Insira um nome para a classe da série de testes (a convenção é utilizar "TodosTestes", que surge por predefinição).

    Assistente de série de testes

  4. Seleccione as classes que devem ser incluídas no conjunto. Actualmente, temos apenas uma classe de teste único, mas pode adicionar ao conjunto posteriormente.

Pode adicionar ou remover classes de testes de série de testes de duas formas:

Nota: o assistente coloca 2 marcações, //$JUnit-BEGIN$ e //$JUnit-END$, na classe do conjunto Teste criada, que permite ao assistente actualizar as classes de conjuntos de testes existentes. Editar código entre as marcações não é recomendável.