Test sul percorso ABAP

Scopri come testare gli esercizi ABAP su Exercism


Su Exercism

Ogni esercizio è fornito come una singola classe ABAP (con uno o più metodi). Di solito vengono fornite le definizioni dei metodi con i relativi parametri di input e output. Il tuo compito è completare l'implementazione del metodo secondo le specifiche dell'esercizio.

Quando hai del codice che vuoi testare, seleziona "Esegui i test". Questo avvierà l'esecuzione di una classe di test ABAP corrispondente e i risultati verranno mostrati dopo qualche secondo. Se ci sono errori, torna al codice e correggilo di conseguenza. Se tutti i test passano, complimenti! Hai completato l'esercizio e puoi inviare la soluzione.

Risoluzione dei problemi

Dietro le quinte, il codice ABAP viene compilato ed eseguito usando il cosiddetto transpiler di abaplint. È ancora una soluzione relativamente nuova. Se hai problemi che non riesci a risolvere, crea una issue su GitHub.

Debug e logging

Non c'è un debugger disponibile quando esegui gli esercizi ABAP sul sito di Exercism. Questo può rendere difficile capire perché i test falliscono. Tuttavia, c'è un modo ingegnoso per registrare i dati nel codice (Nota: non funziona in nessun sistema ABAP).

Ecco un esempio. La prima immagine mostra il codice dell'esercizio con alcuni test falliti. Ogni test fallito mostra i valori attesi e quelli effettivi:

esercizio senza logging

Per rendere il debug più semplice, aggiungi una o più chiamate a console=>log() e passa al metodo eventuali dati intermedi. Usare i caratteri di nuova riga (\n) aiuterà a strutturare l'output. Quando esegui i test, vedrai l'output della console nei risultati dei test:

esercizio con logging

Nota: l'output della console è visibile solo per i test falliti. Se pubblichi la soluzione, potresti voler rimuovere le istruzioni di log, così che l'iterazione pubblicata sia più facile da leggere per gli altri membri della community.

Sul tuo sistema

Traccia completa

Il modo più semplice per iniziare ad esercitarsi sul tuo sistema è clonare questo repository usando abapGit. In questo modo verranno creati gli stub e le classi di test per tutti gli esercizi attualmente disponibili.

Esercizi singoli

Avvia gli ABAP Development Tools (o le transazioni SE24 o SE80 se hai un sistema più vecchio) e crea una nuova classe ABAP con lo stesso nome della classe dell'esercizio. Implementa anche lo stub della classe e la classe di test, copiando ed incollando il codice dal sito di Exercism.

Implementare le soluzioni

Ora puoi modificare la classe di un esercizio ed implementare una soluzione. Poi esegui gli unit test ABAP per verificare che superi tutti i test. Una volta completata e testata con successo, copia ed incolla il codice nell'editor dell'esercizio sul sito di Exercism. Esegui i test anche lì.

Testare e completare l'esercizio

Quando scrivi il codice e fai i test sul tuo sistema, vengono usati il compilatore e l'ambiente di esecuzione ABAP standard di SAP. Se i test falliscono, probabilmente dipende dal codice. Dagli un'altra occhiata.

Se il codice supera gli unit test, copia ed incolla l'implementazione della classe nell'esercizio sul sito di Exercism e seleziona "Esegui i test". Ovviamente, anche lì i test dovrebbero passare. In caso contrario, consulta la sezione sulla risoluzione dei problemi qui sopra.