API de testes
Passo a passo necessário para a execução de testes utilizando a API do Gestão do Ponto, abrangendo todas as suas funcionalidades:
Criar as classes de teste
- No Ambiente de Customização (SeniorDeveloper), atualize os projetos customizados no ambiente.
- No projeto customizado, no pacote "test", são criadas as classes e os arquivos de teste.
Nota
Para melhor organização das classes de teste, crie outros pacotes dentro de "test", por exemplo, pacotes java e xml.
- Para criar a classe, pressione com o botão direito sobre o pacote determinado e selecione Nova > Classe.
- Preencha as informações da classe a ser criada e pressione em Concluir.
- Altere a classe criada para que esta estenda da classe AbstractTestGP.
Exemplo:
package gp.apuracao.teste;
import br.com.senior.rh.gp.test.api.AbstractTestGP;
public class TesteApuracao extends AbstractTestGP{
}
Nota
A AbstractTestGP é a classe base para desenvolvimento de testes automatizados, provendo métodos que auxiliam nesse desenvolvimento.
Criar os cenários de teste
- Para definir que um determinado método da classe criada é um cenário de teste, inclua a anotação @Test antes do método.
Exemplo:
Além da classe .java, foram criados dois outros pacotes, um contendo o arquivo .xml com os cenários, e outro com o .html dos resultados:
Nota
Para organizar os imports pode-se usar o atalho Ctrl + Shift + o ou clicar com o botão direito sobre a linha com erro e selecionar o import desejado.
- Template para criação de cenários de teste.
Exemplo:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<base>
<agrupador id="Cenario001">
<atribute id="contrato" value="1000,1,600"/>
<atribute id="data" value="01/01/2002"/>
<atribute id="horario" value="6000"/>
<marcacoes>
<atribute id="datas" value="01/01/2002,01/01/2002,01/01/2002,01/01/2002"/>
<atribute id="horas" value="08:00,12:00,13:30,18:00"/>
</marcacoes>
<situacoes>
<atribute id="situacoes" value="1"/>
<atribute id="horas" value="08:30"/>
</situacoes>
</agrupador>
<agrupador id="Cenario002">
<atribute id="contrato" value="1000,1,600"/>
<atribute id="data" value="02/01/2002"/>
<atribute id="horario" value="6000"/>
<marcacoes>
<atribute id="datas" value="02/01/2002,02/01/2002"/>
<atribute id="horas" value="08:00,18:00"/>
</marcacoes>
<situacoes>
<atribute id="situacoes" value="1,300"/>
<atribute id="horas" value="08:30,01:30"/>
</situacoes>
</agrupador>
<agrupador id="Cenario003">
<atribute id="contrato" value="1000,1,600"/>
<atribute id="data" value="03/01/2002"/>
<atribute id="horario" value="6000"/>
<marcacoes>
<atribute id="datas" value="03/01/2002,03/01/2002"/>
<atribute id="horas" value="08:00,12:00"/>
</marcacoes>
<situacoes>
<atribute id="situacoes" value="101,1,300"/>
<atribute id="horas" value="06:00,02:30,01:30"/>
</situacoes>
</agrupador>
<agrupador id="Cenario0001">
<atribute id="contrato" value="1000,1,700"/>
<atribute id="data" value="01/01/2002"/>
<atribute id="horario" value="9997"/>
<marcacoes>
<atribute id="datas" value="01/01/2002,01/01/2002,01/01/2002,01/01/2002"/>
<atribute id="horas" value="07:00,12:30,13:00,19:00"/>
<atribute id="origem" value="DIGITADA,DIGITADA,DIGITADA,DIGITADA"/>
</marcacoes>
<situacoes>
<atribute id="situacoes" value="10,300"/>
<atribute id="horas" value="03:00,08:30"/>
</situacoes>
</agrupador>
<agrupador id="Cenario0002">
<atribute id="contrato" value="1000,1,700"/>
<atribute id="data" value="02/01/2002"/>
<atribute id="horario" value="1"/>
<marcacoes>
<atribute id="datas" value="02/01/2002,02/01/2002,02/01/2002,02/01/2002"/>
<atribute id="horas" value="07:00,12:30,13:00,19:00"/>
<atribute id="origem" value="DIGITADA,DIGITADA,DIGITADA,DIGITADA"/>
</marcacoes>
<situacoes>
<atribute id="situacoes" value="1,10,300"/>
<atribute id="horas" value="08:30,01:30,01:30"/>
</situacoes>
</agrupador>
</base>
- Template com uso de Intervalos e Afastamentos.
Exemplo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- <!DOCTYPE base SYSTEM "Cenarios_Calculo.dtd"> -->
<base>
<agrupador id="Cenario001">
<atribute id="contrato" value="104"/>
<atribute id="data" value="28/09/2009"/>
<atribute id="horario" value="2"/>
<marcacoes>
<atribute id="datas" value="28/09/2009"/>
<atribute id="horas" value="08:00,14:00,15:00,17:00"/>
</marcacoes>
<afastamentos>
<atribute id="datafa" value="28/09/2009"/>
<atribute id="datter" value="28/09/2009"/>
<atribute id="horafa" value="17:00"/>
<atribute id="horter" value="18:00"/>
<atribute id="sitafa" value="2"/>
</afastamentos>
<situacoes>
<atribute id="situacoes" value="001,2"/>
<atribute id="horas" value="08:00,01:00"/>
</situacoes>
<intervalos>
<intervalo id="Intervalo 1">
<atribute id="tipo" value="TRABALHO"/>
<atribute id="intervalo" value="1"/>
<atribute id="horas" value="08:00"/>
</intervalo>
<intervalo id="Intervalo 2">
<atribute id="tipo" value="REFEICAO"/>
<atribute id="intervalo" value="1"/>
<atribute id="parte" value="1"/>
<atribute id="horas" value="01:00"/>
</intervalo>
</intervalos>
</agrupador>
</base>
Nota
O único histórico que dá para criar no cenário xml, é o de histórico de afastamento, os demais históricos e programações devem existir na base.
Executar os testes com o Junit
- Clique com o botão direito na classe aberta selecione Executar como > Teste de JUnidade.
- É apresentado um erro solicitando que sejam habilitadas as assertivas: -ea
- Para habilitá-las, acesse Executar > Executar Configurations.
- Na janela aberta, acesse JUnit > NomeDaClasseDeTeste na lista de configurações.
- Acesse a guia Argumentos.
- No campo Argumentos da VM, insira o argumento: -ea
- Pressione Aplicar e depois Executar.
O teste é executado novamente e ficará verde:
No arquivo .xml aparecem os resultados dos testes executados.