Μάθε πώς να ελέγχεις τις ασκήσεις σου σε ABAP στο Exercism
Κάθε άσκηση παρέχεται ως μία μόνο κλάση ABAP (με μία ή περισσότερες μεθόδους). Συνήθως δίνονται οι ορισμοί των μεθόδων με παραμέτρους εισόδου και εξόδου. Η δουλειά σου είναι να ολοκληρώσεις την υλοποίηση της μεθόδου σύμφωνα με τις προδιαγραφές της άσκησης.
Μόλις έχεις κώδικα που θέλεις να δοκιμάσεις, επίλεξε "Run Tests". Αυτό θα ξεκινήσει την εκτέλεση μιας αντίστοιχης κλάσης δοκιμών ABAP και τα αποτελέσματα θα εμφανιστούν μετά από λίγα δευτερόλεπτα. Αν υπάρχουν σφάλματα, γύρνα στον κώδικά σου και προσάρμοσέ τον ανάλογα. Αν όλες οι δοκιμές περάσουν, συγχαρητήρια! Ολοκλήρωσες την άσκηση και μπορείς να υποβάλεις τη λύση σου.
Στο παρασκήνιο, ο κώδικας ABAP μεταγλωττίζεται και εκτελείται χρησιμοποιώντας τον λεγόμενο abaplint transpiler. Είναι ακόμα μια σχετικά νέα λύση. Αν αντιμετωπίζεις προβλήματα που δεν μπορείς να λύσεις, άνοιξε ένα issue στο GitHub.
Δεν υπάρχει διαθέσιμος debugger όταν τρέχεις ασκήσεις ABAP στον ιστότοπο του Exercism. Αυτό μπορεί να κάνει δύσκολο τον εντοπισμό του γιατί αποτυγχάνουν οι δοκιμές σου. Ωστόσο, υπάρχει ένας έξυπνος τρόπος να καταγράψεις δεδομένα στον κώδικά σου (Σημείωση: Αυτό δεν λειτουργεί σε κανένα σύστημα ABAP).
Ορίστε ένα παράδειγμα. Η πρώτη εικόνα δείχνει τον κώδικα της άσκησης με μερικές αποτυχημένες δοκιμές. Κάθε αποτυχημένη δοκιμή δείχνει τις αναμενόμενες και τις πραγματικές τιμές:

Για να κάνεις το debugging πιο εύκολο, πρόσθεσε μία ή περισσότερες κλήσεις στο console=>log() και πέρασε οποιαδήποτε ενδιάμεσα δεδομένα στη μέθοδο. Η χρήση χαρακτήρων νέας γραμμής (\n) θα σε βοηθήσει να δομήσεις την έξοδο. Όταν τρέξεις τις δοκιμές, θα δεις την έξοδο της κονσόλας στα αποτελέσματα των δοκιμών:

Σημείωση: Η έξοδος της κονσόλας είναι ορατή μόνο για τις αποτυχημένες δοκιμές. Αν δημοσιεύεις τη λύση σου, ίσως θέλεις να αφαιρέσεις τις εντολές καταγραφής, ώστε η δημοσιευμένη εκδοχή σου να είναι πιο εύκολη στην ανάγνωση για τα άλλα μέλη της κοινότητας.
Ο ευκολότερος τρόπος να ξεκινήσεις την εξάσκηση στο δικό σου σύστημα είναι να κλωνοποιήσεις αυτό το αποθετήριο χρησιμοποιώντας το abapGit. Έτσι θα δημιουργηθούν τα stubs και οι κλάσεις δοκιμών για όλες τις ασκήσεις που είναι διαθέσιμες αυτή τη στιγμή.
Άνοιξε το ABAP Development Tools (ή τις συναλλαγές SE24 ή SE80 αν έχεις παλαιότερο σύστημα) και δημιούργησε μια νέα κλάση ABAP με όνομα ίδιο με την κλάση της άσκησης. Υλοποίησε επίσης το stub της κλάσης και την κλάση δοκιμών, αντιγράφοντας και επικολλώντας τον κώδικα από τον ιστότοπο του Exercism.
Τώρα μπορείς να επεξεργαστείς την κλάση μιας άσκησης και να υλοποιήσεις μια λύση. Στη συνέχεια, τρέξε τις δοκιμές μονάδας ABAP για να ελέγξεις αν περνάει όλες τις δοκιμές. Μόλις ολοκληρώσεις και δοκιμάσεις με επιτυχία, αντίγραψε και επικόλλησε τον κώδικά σου στον επεξεργαστή της άσκησης στον ιστότοπο του Exercism. Τρέξε και εκεί τις δοκιμές.
Όταν γράφεις κώδικα και κάνεις δοκιμές στο δικό σου σύστημα, χρησιμοποιείται ο τυπικός μεταγλωττιστής και ο μηχανισμός εκτέλεσης ABAP της SAP. Αν οι δοκιμές σου αποτύχουν, πιθανότατα σχετίζεται με τον δικό σου κώδικα. Ρίξε άλλη μια ματιά.
Αν ο κώδικάς σου περνάει με επιτυχία τις δοκιμές μονάδας, αντίγραψε και επικόλλησε την υλοποίηση της κλάσης σου στην άσκηση στον ιστότοπο του Exercism και επίλεξε "Run Tests". Οι δοκιμές θα πρέπει να περνάνε και εκεί, φυσικά. Αν όχι, δες την ενότητα αντιμετώπισης προβλημάτων παραπάνω.