Testen im ABAP-Track

Lerne, wie du deine ABAP-Übungen auf Exercism testest


Auf Exercism

Jede Übung besteht aus einer einzelnen ABAP-Klasse (mit einer oder mehreren Methoden). Normalerweise sind Methodendefinitionen mit Eingabe- und Ausgabeparametern vorgegeben. Deine Aufgabe ist es, die Methodenimplementierung gemäß den Vorgaben der Übung zu vervollständigen.

Wenn du Code hast, den du testen möchtest, wähle „Tests ausführen“. Damit startest du die Ausführung einer passenden ABAP-Testklasse, und die Ergebnisse erscheinen nach ein paar Sekunden. Wenn es Fehler gibt, geh zurück zu deinem Code und passe ihn entsprechend an. Wenn alle Tests bestehen, herzlichen Glückwunsch! Du hast die Übung abgeschlossen und kannst deine Lösung einreichen.

Fehlerbehebung

Im Hintergrund wird dein ABAP-Code mit dem sogenannten abaplint-Transpiler kompiliert und ausgeführt. Das ist noch eine relativ neue Lösung. Wenn du Probleme hast, die du nicht lösen kannst, erstelle bitte ein Issue auf GitHub.

Debugging und Logging

Wenn du ABAP-Übungen auf der Exercism-Website ausführst, steht kein Debugger zur Verfügung. Das kann es schwierig machen, herauszufinden, warum deine Tests fehlschlagen. Es gibt jedoch einen cleveren Weg, Daten in deinem Code zu loggen (Hinweis: Das funktioniert in keinem ABAP-System).

Hier ist ein Beispiel. Das erste Bild zeigt den Übungscode mit einigen fehlschlagenden Tests. Jeder fehlgeschlagene Test zeigt die erwarteten und die tatsächlichen Werte:

Übung ohne Logging

Um das Debugging zu erleichtern, füge einen oder mehrere Aufrufe von console=>log() hinzu und übergib beliebige Zwischendaten an die Methode. Zeilenumbrüche (\n) helfen, die Ausgabe zu strukturieren. Wenn du die Tests ausführst, siehst du die Konsolenausgabe in den Testergebnissen:

Übung mit Logging

Hinweis: Die Konsolenausgabe ist nur bei fehlgeschlagenen Tests sichtbar. Wenn du deine Lösung veröffentlichst, solltest du die Log-Anweisungen vielleicht entfernen, damit deine veröffentlichte Iteration für andere Community-Mitglieder leichter zu lesen ist.

In deinem eigenen System

Kompletter Track

Der einfachste Weg, mit deinem eigenen System zu üben, ist, dieses Repository mit abapGit zu klonen. Dadurch werden die Stubs und Testklassen für alle derzeit verfügbaren Übungen angelegt.

Einzelne Übungen

Starte deine ABAP Development Tools (oder die Transaktionen SE24 oder SE80, wenn du ein älteres System hast) und lege eine neue ABAP-Klasse mit demselben Namen wie die Klasse in der Übung an. Implementiere auch den Klassen-Stub und die Testklasse, indem du den Code von der Exercism-Website kopierst und einfügst.

Lösungen implementieren

Jetzt kannst du die Klasse für eine Übung bearbeiten und eine Lösung implementieren. Führe dann die ABAP-Unit-Tests aus, um zu prüfen, ob alle Tests bestehen. Wenn du fertig bist und alles erfolgreich getestet hast, kopiere deinen Code und füge ihn in den Editor für die Übung auf der Exercism-Website ein. Führe die Tests auch dort aus.

Die Übung testen und abschließen

Wenn du in deinem eigenen System programmierst und testest, kommen der Standard-Compiler und die Standardausführung von SAP ABAP zum Einsatz. Wenn deine Tests fehlschlagen, liegt das wahrscheinlich an deinem eigenen Code. Schau noch einmal genau hin.

Wenn dein Code die Unit-Tests erfolgreich besteht, kopiere deine Klassenimplementierung in die Übung auf der Exercism-Website und wähle „Tests ausführen“. Die Tests sollten dort natürlich ebenfalls bestehen. Wenn nicht, schau in den Abschnitt zur Fehlerbehebung oben.