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.8.1 e escreva "TestFailure" como o nome da sua classe de teste:

    Assistente Criação de CasoTeste 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 "teste" seguido de Ctrl+Espaço para activar a assistência de código e seleccione o modelo "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 FalhaTeste, active o menu pendente Executar na barra de ferramentas e seleccione Executar como > Teste de JUnit. 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 com êxito - Uma execução de teste com êxito
Teste com êxito mas o espaço de trabalho foi alterado - Foi executado um teste com êxito, mas o conteúdo do espaço de trabalho foi alterado desde a última execução do teste.

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

Personalizar uma Configuração de Teste

Quando quiser transmitir parâmetros ou personalizar as definições para uma execução de teste, abra a caixa de diálogo Configuração de Lançamento. Seleccione Executar....no menu pendente Executar na barra de ferramentas:

Configuração de Lançamento JUnit

Nesta caixa de diálogo, pode especificar o teste que vai ser executado, os respectivos argumentos, o caminho de classes do tempo de execução e o ambiente de tempo de execução Java.

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 lançamento de JUnit tem uma opção "manter em actividade". Se a máquina virtual Java suporta "substituição de código em actividade", pode ajustar o código e voltar a executar o teste sem reiniciar a execução de teste integral. Para activar esta opção, seleccione a caixa de verificação Manter JUnit em execução após uma execução de teste ao depurar na configuração de lançamento 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 Conjunto 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.