Testes na trilha de ABAP

Aprenda a testar seus exercícios de ABAP no Exercism


No Exercism

Cada exercício é fornecido como uma única classe ABAP (com um ou mais métodos). Normalmente, são fornecidas as definições dos métodos com parâmetros de entrada e saída. Sua tarefa é completar a implementação do método de acordo com as especificações do exercício.

Quando você tiver um código que quer testar, selecione "Run Tests". Isso vai disparar a execução de uma classe de teste ABAP correspondente, e os resultados serão exibidos depois de alguns segundos. Se houver erros, volte ao seu código e ajuste-o conforme necessário. Se todos os testes passarem, parabéns! Você concluiu o exercício e pode enviar sua solução.

Solução de problemas

Nos bastidores, seu código ABAP é compilado e executado usando o chamado transpilador do abaplint. Essa ainda é uma solução relativamente nova. Se você tiver algum problema que não consiga resolver, abra uma issue no GitHub.

Depuração e registro

Não há depurador disponível ao rodar os exercícios de ABAP no site do Exercism. Isso pode dificultar entender por que seus testes estão falhando. No entanto, existe um jeito engenhoso de registrar dados no seu código (Observação: isso não funciona em nenhum sistema ABAP).

Veja um exemplo. A primeira imagem mostra o código do exercício com alguns testes falhando. Cada teste que falha mostra os valores esperado e obtido:

exercício sem registro

Para facilitar a depuração, adicione uma ou várias chamadas a console=>log() e passe quaisquer dados intermediários para o método. Usar quebras de linha (\n) ajuda a estruturar a saída. Quando você rodar os testes, vai ver a saída do console nos resultados dos testes:

exercício com registro

Observação: a saída do console só fica visível para testes que falham. Se você estiver publicando sua solução, talvez queira remover as instruções de registro para que sua iteração publicada seja mais fácil de ler para os outros membros da comunidade.

No seu próprio sistema

Trilha completa

O jeito mais fácil de começar a praticar usando seu próprio sistema é clonar este repositório com o abapGit. Isso vai criar os stubs e as classes de teste de todos os exercícios disponíveis no momento.

Exercícios individuais

Inicie o seu ABAP Development Tools (ou as transações SE24 ou SE80, se você tiver um sistema mais antigo) e crie uma nova classe ABAP com o mesmo nome da classe do exercício. Implemente também o stub da classe e a classe de teste, copiando e colando o código do site do Exercism.

Implementando soluções

Agora você pode editar a classe de um exercício e implementar uma solução. Depois, rode os testes de unidade ABAP para verificar se ela passa em todos os testes. Quando terminar e testar com sucesso, recorte e cole seu código no editor do exercício no site do Exercism. Rode os testes lá também.

Testando e concluindo o exercício

Quando você programa e testa no seu próprio sistema, são usados o compilador e a execução padrão do SAP ABAP. Se seus testes falharem, provavelmente tem a ver com o seu próprio código. Dê uma olhada de novo.

Se seu código passar nos testes de unidade, recorte e cole a implementação da sua classe no exercício no site do Exercism e selecione "Run Tests". Claro que os testes também devem passar lá. Se não passarem, consulte a seção de solução de problemas acima.