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

26. November 2025, 08:00 Uhr · Quelle: Pressebox
Unit-Tests: How to unit test
Foto: Pressebox
How to unit test Titelbild - Inwerken AG
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]
Startschuss für Bohrgenehmigungen: Zündet hier auch bald die erste Kursrakete?
Lüdenscheid, 05.12.2025 (lifePR) - Future Fuels Inc. (ISIN: CA36118K1084 | WKN: A40TUW). Future Fuels oder das Unternehmen, freut sich bekannt zu geben, dass es offiziell das Genehmigungsverfahren für Bohrungen in seinem zu 100 % unternehmenseigenen Uranprojekt “Hornby Basin” eingeleitet hat, das sich etwa 95 Kilometer südwestlich von Kugluktuk (Nunavut) befindet. Der wichtigste Vermögenswert […] (00)
vor 12 Stunden
Neuaufstellung BSW
Magdeburg (dpa) - Das Bündnis Sahra Wagenknecht steht vor einer tiefen Zäsur. Beim heute in Magdeburg beginnenden Bundesparteitag will die Parteigründerin den Vorsitz abgeben. Das BSW soll in einigen Monaten nicht mehr ihren Namen tragen. Und der Plan, die Bundestagswahl neu auszählen zu lassen und vielleicht doch noch ins Parlament zu kommen, geht vorerst nicht auf. Ist das der Anfang vom Ende der […] (00)
vor 2 Stunden
Afrikas werden zu Kohlenstoffschleudern: Wie ein ganzer Kontinent seine CO₂-Bilanz verändert
Afrikas Wälder befinden sich an einem kritischen Wendepunkt. Jahrzehntelang galten sie als zuverlässige Kohlenstoffsenken: dichte Regenwälder, weitläufige Feuchtgebiete und ausgedehnte Baumflächen entzogen der Atmosphäre CO₂ und banden den Kohlenstoff in Holz, Laub und Böden. Aktuelle Untersuchungen zeigen jedoch, dass sich dieses Bild verändert. Satellitendaten, verstärkte Feldbeobachtungen und […] (00)
vor 13 Stunden
Thomas Gottschalk
Köln (dpa) - Dass Thomas Gottschalk in TV-Rente gehen würde, war schon länger bekannt. Kurz vor seinem 75. Geburtstag im Mai sagte er, der Zeitpunkt sei gekommen, «wo man sagen sollte, man nimmt sich selber raus». Heute um 20.15 Uhr ist es nun so weit. Noch einmal ins Rampenlicht. Mit der RTL-Show «Denn sie wissen nicht, was passiert» verabschiedet sich Gottschalk von der Samstagabendunterhaltung. Ein […] (00)
vor 2 Stunden
Portfolio-Erweiterung bei Raw Fury:  Sci-Fi-Puzzle und Roguelite-Shooter im Line-up
Während des PC Gaming Show: Most Wanted Showcase hat Raw Fury, der schwedische Indie-Publisher hinter Titeln wie dem mit dem Golden Joystick Award ausgezeichneten Blue Prince, The Séance of Blake Manor, Call of the Sea, Sable und anderen, spannende Neuigkeiten zu seinen kommenden Spielen angekündigt. Zu den Ankündigungen gehörten neue Publishing-Partnerschaften mit dem Entwickler Exnilo Studio […] (00)
vor 11 Stunden
Pedralonga Estudios schärft internationales Profil
Der neue galicische Produktionshub setzt seine internationale Expansion fort. Pedralonga Estudios, das erst im September beim Filmfestival von San Sebastián offiziell vorgestellt wurde, beendet sein Gründungsjahr mit einem weiteren strategischen Schritt: der Teilnahme am Branchenforum FOCUS 2025 in London. Das Event, das am 8. und 9. Dezember Produzenten, Technikdienstleister und internationale Entscheider zusammenbringt, ist ein wichtiger […] (00)
vor 2 Stunden
FSV Mainz 05 - Bor. Mönchengladbach
Mainz (dpa) - Nach dem nächsten sportlichen Tiefschlag arbeitet Bundesliga-Schlusslicht FSV Mainz 05 mit Hochdruck an der Verpflichtung eines neuen Trainers. «Wir sind auf Kurs, bis Montag alles unter Dach und Fach zu bekommen und mit einem neuen Trainer in die letzten zwei Wochen zu starten», sagte FSV-Sportdirektor Niko Bungert nach der 0: 1-Heimpleite gegen Borussia Mönchengladbach. «Gute Gespräche […] (00)
vor 1 Stunde
Airbus liefert im November 72 Flugzeuge aus – Jahresziel bereits gekappt
Deutlicher Rückgang im Monatsvergleich Die nun veröffentlichten Zahlen zeigen, dass Airbus weiterhin mit Schwankungen in der Fertigung zu kämpfen hat. Zwar ist die Produktion im historischen Vergleich hoch, doch der Monat November bestätigt den Trend einer leicht nachlassenden Dynamik. Trotz voller Auftragsbücher und einer weltweit robusten Nachfrage nach modernen Mittelstreckenjets gelingt es Airbus […] (00)
vor 14 Minuten
 
KJP will Rederecht im Kreistag
Vogelsbergkreis, 05.12.2025 (lifePR) - Von der Wehrpflicht in Deutschland bis zum Wasserspender […] (00)
Powermax gibt Pläne für Phase-1-Explorationsprogramm für Projekt Pinard bekannt
Toronto, Ontario, 05.12.2025 (PresseBox) - Powermax Minerals Inc. ( CSE: PMAX ) ( OTCQB: […] (00)
Kommunikationsagentur sgc begleitet Leitbildprozess des Netzwerks Tutorienarbeit an Hochschulen
Gießen, 05.12.2025 (PresseBox) - Das bundesweite Netzwerk Tutorienarbeit an Hochschulen hat […] (00)
Bolsonaro nominiert Sohn als Präsidentschaftskandidaten
Brasília (dpa) - Der Sohn des inhaftierten brasilianischen Ex-Präsidenten Jair Bolsonaro will […] (03)
Owen Cooper
(BANG) - Owen Cooper wird immer noch von seinen Lehrern "angeschrien". Der 15-jährige […] (00)
Das Starship der Raumfahrtfirma SpaceX
San Francisco (dpa) - Elon Musks Raumfahrtfirma SpaceX hat Investoren einem Medienbericht […] (00)
Fußball-WM 2026 - Auslosung Vorrunde
Washington (dpa) - Julian Nagelsmann warnte vor Ecuador, lobte die Elfenbeinküste und fand auch […] (00)
Bitcoin-Einbruch: Deutsche Bank nennt fünf Gründe für den Crash
Bitcoin verhält sich wie eine Tech-Aktie Die Deutsche Bank kommt zu dem Schluss, dass Bitcoin […] (00)
 
 
Suchbegriff