Les tests sur le parcours ABAP

Apprends à tester tes exercices ABAP sur Exercism


Sur Exercism

Chaque exercice se présente sous la forme d'une seule classe ABAP (avec une ou plusieurs méthodes). En général, on te fournit les définitions de méthodes avec leurs paramètres d'entrée et de sortie. Ton rôle est de compléter l'implémentation de la méthode conformément aux spécifications de l'exercice.

Quand tu as du code que tu veux tester, sélectionne « Lancer les tests ». Cela déclenche l'exécution d'une classe de test ABAP correspondante, et les résultats s'affichent au bout de quelques secondes. S'il y a des erreurs, reviens à ton code et corrige-le en conséquence. Si tous les tests passent, félicitations ! Tu as terminé l'exercice et tu peux soumettre ta solution.

Résolution des problèmes

En coulisses, ton code ABAP est compilé et exécuté à l'aide du dénommé abaplint transpiler. C'est encore une solution relativement récente. Si tu rencontres des problèmes que tu n'arrives pas à résoudre, ouvre une issue sur GitHub.

Débogage et journalisation

Aucun débogueur n'est disponible quand tu fais les exercices ABAP sur le site d'Exercism. Il peut donc être difficile de déterminer pourquoi tes tests échouent. Il existe cependant une méthode astucieuse pour journaliser des données dans ton code (Remarque : cela ne fonctionne dans aucun système ABAP).

Voici un exemple. La première image montre le code de l'exercice avec quelques tests qui échouent. Chaque test échoué affiche les valeurs attendues et réelles :

exercice sans journalisation

Pour faciliter le débogage, ajoute un ou plusieurs appels à console=>log() et transmets au passage les données intermédiaires à la méthode. L'utilisation de retours à la ligne (\n) t'aidera à structurer la sortie. Quand tu lances les tests, la sortie console apparaît dans les résultats des tests :

exercice avec journalisation

Remarque : la sortie console n'est visible que pour les tests qui échouent. Si tu publies ta solution, tu voudras peut-être supprimer les instructions de journalisation pour que ton itération publiée soit plus facile à lire pour les autres membres de la communauté.

Sur ton propre système

Parcours complet

La façon la plus simple de commencer à t'entraîner sur ton propre système est de cloner ce dépôt avec abapGit. Cela crée les squelettes et les classes de test de tous les exercices actuellement disponibles.

Exercices individuels

Lance tes ABAP Development Tools (ou les transactions SE24 ou SE80 si tu as un système plus ancien) et crée une nouvelle classe ABAP portant le même nom que la classe de l'exercice. Implémente également le squelette de classe et la classe de test en copiant-collant le code depuis le site d'Exercism.

Implémente une solution

Tu peux maintenant modifier la classe d'un exercice et implémenter une solution. Lance ensuite les tests unitaires ABAP pour vérifier que tout passe. Une fois le tout terminé et testé avec succès, copie-colle ton code dans l'éditeur de l'exercice sur le site d'Exercism. Lance aussi les tests à cet endroit.

Tester et terminer l'exercice

Quand tu codes et testes sur ton propre système, c'est le compilateur et l'environnement d'exécution ABAP standard de SAP qui sont utilisés. Si tes tests échouent, c'est probablement lié à ton propre code. Regarde une nouvelle fois.

Si ton code passe les tests unitaires avec succès, copie-colle l'implémentation de ta classe dans l'exercice sur le site d'Exercism et sélectionne « Lancer les tests ». Les tests devraient bien sûr passer là aussi. Si ce n'est pas le cas, consulte la section de résolution des problèmes ci-dessus.