Unit-Tests: How to unit test
Artikel 3/3

26. November 2025, 08:00 Uhr · Quelle: Pressebox
In diesem Tutorial lernen Sie, Unit-Tests für ABAP-Klassen zu implementieren. Entdecken Sie den Test-Driven-Development-Ansatz mit einfachen Beispielen.

Isernhagen, 26.11.2025 (PresseBox) - Im dritten Blogbeitrag der Reihe Unit-Tests zeigen unsere Entwickler Max und Basti anhand eines Beispiel-Tutorials die Implementierung von Unit-Tests. Dabei verwenden sie die Entwicklungsumgebung Eclipse und verfolgen den Ansatz des Test-Driven-Developments.

TDD – Test Driven Development

Der erste Schritt, um Unit-Tests in ABAP zu implementieren, ist das Anlegen einer globalen Klasse. Hier implementieren wir später die Logik. Anschließend wird zu dieser Klasse eine Testklasse angelegt. Dort müssen die einzelnen Unit-Tests in Form von Methoden implementiert werden, um die – noch nicht vorhandene Logik – zu testen. In diesem Tutorial nutzen wir Eclipse, da es vieles vereinfacht und sehr gute Funktionen zur Erstellung von Unit-Tests bietet. Außerdem schreiben wir in diesem Tutorial test-driven. Das bedeutet, dass wir den Test vor der Logik schreiben.

Das erklären wir am besten an einer Beispielaufgabe:

Die Aufgabe lautet, wie folgt: Erstellen Sie eine Klasse mit einer Methode, die überprüft, welche Prüfvariante für ein Material mit einer bestimmten Materialart anfällt.

Eingabewert

  • MTART
Mögliche Eingabewerte sind:
  • HALB
  • FERT
  • PROD
  • HAWA
Mögliche Rückgabeparameter:
  • N – Keine Prüfung
  • V – Vollständige Prüfung
  • S – Schnelle Prüfung
Geschäftslogik:

Für die Ermittlung der Prüfmethode gelten folgende Regeln:

(Grafik 1)

Anmerkung: Die Logik, die wir auf Grund der erdachten Anforderungen implementieren ist sehr simpel. Man könnte meinen, dass es sinnlos ist, Unit Tests für so eine einfache Logik zu erstellen. Im „echten Leben“ sind jedoch wahrscheinlich mehr Eingabeparameter sowie andere Umstände vorhanden, so dass die Logik deutlich komplizierter wird. Für dieses Tutorial verwenden wir bewusst ein simple Logik, um ein Grundverständnis für Unit Tests zu demonstrieren.

Anlage einer neuen globalen Klasse

Die Klasse, die die Ermittlungen durchführen soll, legen wir in Eclipse an:

(Grafik 2)

Diese Klasse bleibt erst einmal leer. Wir implementieren die Logik zu einem späteren Zeitpunkt.

(Grafik 3)

Anlegen der Testklasse

Um eine Testklasse anzulegen, nutzen wir die Registerkarte „Test Classes“, die sich unter dem Quelltextfenster befindet.

(Grafik 4)

Nach der Eingabe von test und der Tastenkombination STRG + space wird von Eclipse das Template testClass zur Implementierung einer Testklasse angezeigt.

(Grafik 5)

Nach Bestätigung der Auswahl testClass und Benennung der lokalen Testklasse wird der folgende Quelltext generiert:

(Grafik 6)

Implementieren der ersten Testmethode

An dieser Stelle werden wir jetzt unsere erste Testmethode schreiben. Erst danach implementieren wir die dazugehörige Logik in die eigentliche Methode. Nach der Regel Materialart „HALB“ sollte das Ergebnis „V“ sein, deshalb sollte darauf geachtet werden auch nur diese zu testen und die Testmethode entsprechend zu benennen.

Um einen einfachen Unit-Test zu implementieren, benötigen wir die Klasse CL_ABAP_UNIT_ASSERT und in diesem Fall deren Methode ASSERT_EQUALS. Mit dieser Methode prüfen wir, ob das erwartete Ergebnis mit dem Ergebnis übereinstimmt, dass die Methode liefert.

An dieser Stelle legen wir durch Vorwärtsdeklaration mit Hilfe von STRG+1 und Create Method die Methode RETURN_CHECK_VARIANT an, in die wir im weiteren Verlauf des Tutorials die Logik implementieren werden.

(Grafik 7)

Die Methode RETURN_CHECK_VARIANT erhält den Eingabeparameter I_MTART sowie den Rückgabeparameter R_RESULT (Prüfvariante).

Der erste Test

Wir sind soweit und können nun den ersten Test durchführen. Dazu verwenden wir die Tastenkombination STRG + SHIFT + F10. Die Testmethode wird an dieser Stelle nicht erfolgreich sein, da die zu testende Methode noch leer ist. Dennoch führen wir den Test zur besseren Veranschaulichung des Beispiels durch:

(Grafik 8)

Im Failure Trace lässt sich jetzt gut ablesen, was als Testergebnis erwartet wurde und was die überprüfte Methode tatsächlich zurückgibt.

“Fehlerbehebung”

Wie wir nun durch die Ausführung des Unit Tests festgestellt haben, ist unser Test fehlgeschlagen. Also ergreifen wir die Gelegenheit: Let’s fix the bug!

Es geht also zur ersten Logik unserer eigentlichen Klasse, die wir unten in der Registerkarte Global Class wiederfinden.

Zuvor hatten wir die Methode RETURN_CHECK_VARIANT angelegt. In diese implementieren wir nun unsere Logik, um den Test zu bestehen:

(Grafik 9)

Ein erneuter Aufruf der Unit Tests zeigt, dass nun das korrekte Ergebnis:

(Grafik 10)

Prinzipiell ist es wichtig zu beachten, dass die Tests den Quelltext der gesamten Methode abdecken (100 % Testabdeckung). Die Überprüfung der Testabdeckung kann über das Menü ganz rechts im ABAP unit View über Rerun with Coverage aufgerufen werden:

(Grafik 11)

Die Quellcodezeilen, die bei der Ausführung der Tests durchlaufen werden, werden in Eclipse durch grüne Markierungen kenntlich gemacht:

(Grafik 12)

Auf dieser Basis kann man jetzt arbeiten und weitere Tests für Materialarten PROD, FERT und z.B. HAWA zu implementieren, bis die gesamte geforderte Geschäftslogik in der globalen Klasse abgebildet wurde.

Fragen und Kontakt

Haben Sie Rückfragen zu Unit-Tests? Einfach schreiben an[email protected]. Unser SAP-Entwicklungs-Team meldet sich bei Ihnen! Leistungen darüber hinaus finden Sie in unseremPortfolio.

Software / ABAP / Unit-Tests / TDD / Eclipse
[pressebox.de] · 26.11.2025 · 08:00 Uhr
[0 Kommentare]
Empfindliche Zähne beim Eis essen? Daran könnte es liegen
Mörfelden-Walldorf, 28.08.2026 (lifePR) - Kaum ist es warm draußen, kommt bei vielen ein bekanntes Ziehen zurück: Die Kugel Eis, die im Winter kein Problem war, sorgt plötzlich für ein unangenehmes Gefühl in einzelnen Zähnen. Auch ein Stück Melone, ein kaltes Getränk oder ein süßer Snack können auf einmal Beschwerden auslösen. Schnell macht sich die […] (00)
vor 12 Stunden
Island: EU-Referendum
Reykjavík (dpa) - Heute geht's für Island um Europa: In einem Referendum stimmen die Bewohner der Vulkaninsel über die Wiederaufnahme von EU-Beitrittsgesprächen ab. Stimmen sie mit «Ja», macht das den Weg für neue Verhandlungen mit Brüssel frei. Bei einem «Nein» hat die Regierung versprochen, das Vorhaben fallen zu lassen. Mehr als 270.000 Isländerinnen […] (00)
vor 22 Minuten
Forschungsteam backt Kekse aus PET-Flaschen und Maisresten
Ein Forschungsteam der Southern Illinois University Carbondale hat Hefen so umprogrammiert, dass sie aus Plastikmüll und Erntereste ein essbares Gebäck herstellen. Die Arbeit, finanziert von der NASA, wurde auf dem Fall Meeting der American Chemical Society vorgestellt und zielt auf zwei Probleme zugleich: wachsenden Hunger auf der Erde und die […] (05)
vor 13 Stunden
Auftakt der Digitalministerkonferenz
Washington (dpa) - Die umstrittene US-Einwanderungsbehörde ICE will künftig hundeähnliche Roboter einsetzen. Die Behörde plant, für die Vierbeiner der Firma Boston Dynamics bis zu zwei Millionen Dollar ausgeben, wie aus Dokumenten zur Auftragsvergabe hervorgeht. Die Firma solle noch in diesem Jahr den Zuschlag erhalten. Die ferngesteuerten Roboter seien […] (00)
vor 46 Minuten
Hunt: Showdown 1896 wird blutig: Blood Testament und Update 2.9
Crytek hat für Hunt: Showdown 1896 wieder einiges vor. Am 8. September startet mit Blood Testament das laut Entwickler größte Ingame-Event des Jahres. Gleichzeitig erscheint Update 2.9 und das bringt nicht einfach nur neue Skins, ein paar Herausforderungen und den nächsten Battle Pass. Diesmal wird tatsächlich an Dingen geschraubt, die wir in […] (00)
vor 6 Stunden
Apple TV hebt Preis massiv an
Während amerikanische Kunden künftig 14,99 Dollar monatlich bezahlen, bleibt der Preis in Deutschland vorerst bei 9,99 Euro. Apple erhöht erneut den Preis seines Streamingdienstes Apple TV. In den Vereinigten Staaten kostet das monatliche Abonnement seit Freitag, den 28. August, 14,99 statt bislang 12,99 US-Dollar. Auch das Jahresabo verteuert sich deutlich: Statt 99 Dollar werden künftig 119 […] (00)
vor 6 Stunden
Was sich im September ändert
Berlin (dpa) - Drei Bundesländer wählen, Fans einer Volksmusik-Sendung müssen sich von einem Dauerbrenner verabschieden und Verbraucherinnen und Verbraucher sollen besser vor Greenwashing geschützt werden. Was sich im September ändert – ein Überblick. Wahlmonat Im September wird in drei Bundesländern gewählt: Am 6. September ist Sachsen-Anhalt dran. Am 20. September finden Wahlen in […] (00)
vor 21 Minuten
Die neuesten Beschäftigungsdaten offenbaren einen Arbeitsmarkt, der an Dynamik verloren hat. Es wurden weniger neue Arbeitsplätze geschaffen als in den Vormonaten, und Haushalte liegen bei ihren Schulden mit einem Tempo zurück, das seit fast zwei Jahrzehnten nicht mehr gesehen wurde. Für eine Regierung, die ihre politische Marke auf Umverteilung und […] (00)
vor 3 Stunden
 
Popp macht Mittag jetzt "lovely"
Kaltenkirchen, 28.08.2026 (lifePR) - Mit Lovely Lunch erweitert Popp Feinkost sein […] (00)
Kleine Raupe, große Wirkung – Die erste Theateraufführung im Kinderhaus Tom Sawyer
Berlin, 28.08.2026 (lifePR) - Wochenlang wurde geprobt, gesungen und gelacht. Dann […] (00)
Fahrschule, die Mut macht: Der erste Schritt in die selbstbestimmte Mobilität
Pfronstetten-Aichelau, 27.08.2026 (lifePR) - „Ich bin schon sehr aufgeregt, ich […] (00)
Mette-Marit (Archiv)
Oslo - Mette-Marit ist zur neuen Königin von Norwegen ernannt worden. Das geht aus […] (02)
arte geht der Frage nach, warum Menschen glauben
Die dreiteilige Dokumentationsreihe «Woran wir glauben» führt von der Kalahari über Indien und […] (00)
cryptocurrency, bitcoin, coin, money, digital, finance, crypto, cognac, liquor, clock
Das Magazin, in dem die beliebte Manga-Serie One Piece ihren Anfang nahm, wurde von […] (00)
Erstes Hands‑on zu Stellar Blade bestätigt — Complete Edition auf der Tokyo Game Show spielbar
Die SHIFT UP Corp. gibt bekannt, dass Stellar Blade Complete Edition für Nintendo […] (01)
QNAP QuTS MEGA 2.0 optimiert Schutz und Notfallwiederherstellung für Scale-out NAS
Da KI-Analyse, hochauflösende Videoüberwachung, medizinische Forschung und der […] (00)
 
 
Suchbegriff