Tanuld meg, hogyan teszteld az ABAP feladataidat az Exercism-ön
Minden feladat egyetlen ABAP-osztály formájában érkezik (egy vagy több metódussal). A metódusdefiníciók általában bemeneti és kimeneti paraméterekkel együtt adottak. A te feladatod, hogy az előírásoknak megfelelően elkészítsd a metódus implementációját.
Ha már van tesztelni kívánt kódod, válaszd a „Teszt futtatása” lehetőséget. Ekkor lefut a megfelelő ABAP-tesztsztály, és néhány másodperc múlva megjelennek az eredmények. Ha hibák vannak, térj vissza a kódodhoz, és igazítsd ki. Ha minden teszt sikeres, gratulálunk! Teljesítetted a feladatot, és beküldheted a megoldásodat.
A háttérben az ABAP-kódodat az úgynevezett abaplint-transpiler fordítja le és futtatja. Ez még mindig egy viszonylag új megoldás. Ha olyan problémába ütközöl, amelyet nem tudsz megoldani, nyiss egy issue-t a GitHubon.
Az Exercism weboldalán ABAP-feladatok futtatásakor nem érhető el debugger. Ez megnehezítheti annak kiderítését, hogy miért sikertelenek a tesztjeid. Van azonban egy ügyes módja annak, hogy adatokat naplózz a kódodban (Megjegyzés: ez semmilyen ABAP-rendszerben nem működik).
Itt egy példa. Az első képen a feladat kódja látható néhány sikertelen teszttel. Minden sikertelen teszt mutatja a várt és a tényleges értéket:

A hibakeresés megkönnyítéséhez adj hozzá egy vagy több console=>log() hívást, és add át a metódusnak a köztes adatokat. Az új sorok (\n) használata segít strukturálni a kimenetet. Amikor futtatod a teszteket, a konzol kimenete megjelenik a teszteredményekben:

Megjegyzés: a konzol kimenete csak sikertelen teszteknél látható. Ha közzéteszed a megoldásodat, érdemes lehet eltávolítanod a naplózó utasításokat, hogy a közzétett iterációd könnyebben olvasható legyen a közösség többi tagja számára.
Ha a saját rendszereden szeretnél gyakorolni, a legegyszerűbb, ha klónozod ezt a repozitóriumot az abapGit segítségével. Ezzel létrejönnek az összes jelenleg elérhető feladat csonkjai és tesztsztályai.
Indítsd el az ABAP Development Tools eszközt (vagy a SE24, illetve SE80 tranzakciót, ha régebbi rendszert használsz), és hozz létre egy új ABAP-osztályt a feladatban szereplő osztállyal azonos néven. Az osztálycsonkot és a tesztsztályt is valósítsd meg úgy, hogy kimásolod és beilleszted a kódot az Exercism weboldaláról.
Most szerkesztheted a feladat osztályát, és implementálhatsz egy megoldást. Ezután futtasd az ABAP Unit teszteket, hogy ellenőrizd, minden teszt sikeres-e. Ha elkészültél és a tesztelés sikeres volt, másold be a kódodat a feladat szerkesztőjébe az Exercism weboldalán. Ott is futtasd le a teszteket.
Amikor a saját rendszereden írsz kódot és tesztelsz, a szabványos SAP ABAP-fordító és -végrehajtó dolgozik a háttérben. Ha a tesztjeid sikertelenek, az valószínűleg a saját kódoddal függ össze. Nézd meg még egyszer.
Ha a kódod sikeresen átmegy az unit teszteken, másold be az osztályod implementációját az Exercism weboldalán lévő feladatba, és válaszd a „Teszt futtatása” lehetőséget. Ott természetesen szintén sikeresnek kell lenniük a teszteknek. Ha mégsem, nézd meg a fenti hibaelhárítási részt.