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]
Backup. Firewall. MFA. Und dann? Wenn Recovery scheitert, zählt professionelle Datenrettung
Leipzig, 29.04.2026 (PresseBox) - Backup-Lösungen, Firewalls, Multi-Faktor-Authentifizierung, Endpoint Security und Zero-Trust-Konzepte gehören heute in vielen Unternehmen zur IT-Sicherheitsarchitektur. Sie reduzieren Risiken, schützen Zugänge und schaffen wichtige technische Barrieren. Doch sie beantworten nicht automatisch die entscheidende Frage im […] (00)
vor 11 Stunden
Weitere Entwicklung zum Buckelwal in der Ostsee
Kopenhagen (dpa) - Das Transportschiff mit dem vor der Küste von Mecklenburg-Vorpommern geborgenen Wal ist weiter in Richtung Nordsee unterwegs. Am frühen Morgen fuhr der Schlepperverband vor der dänischen Küste in Richtung der Westküste Schwedens. Laut dem Schiffs-Ortungsdienst Vesselfinder war das Schiff gegen 04.45 Uhr etwa 3 Seemeilen (rund 5,5 […] (00)
vor 11 Minuten
Sir Ringo Starr weigerte sich, 'eine der traurigsten Zeilen' auf seinem neuen Album zu singen.
(BANG) - Sir Ringo Starr weigerte sich, "eine der traurigsten Zeilen" zu singen, die T-Bone Burnett für 'Long Long Road' geschrieben hat. Die Beatles-Legende hat sich für das neue, hochkarätig besetzte Country-Album wieder mit dem ikonischen Produzenten zusammengetan und gab zu, dass einige Texte zu herzzerreißend waren, um sie zu singen. Rückblickend […] (00)
vor 11 Stunden
KI
Berlin (dpa) - Im Wettbewerb um die besten Köpfe im Bereich der Künstlichen Intelligenz (KI) steht Deutschland in der Europäischen Union an der Spitze - kann aber mit den globalen Marktführern USA, Indien, Großbritannien und Kanada nicht mithalten. Das geht aus einer Arbeitsmarktstudie des Berliner Thinktanks Interface (ehemals Stiftung Neue Verantwortung) hervor.  Kanada […] (00)
vor 14 Minuten
Steam Deck 2 lebt noch! – Valve arbeitet weiter am Nachfolger
Valve hat den Steam Deck 2 nicht auf Eis gelegt. Im Gegenteil: Laut einer neuen Einordnung von PCGamer.com unter Berufung auf ein aktuelles Gespräch mit Pierre-Loup Griffais ist Valve weiter „hart am Arbeiten“ zum Nachfolger des Steam Decks. Eine konkrete Ankündigung oder einen Starttermin gibt es aber weiterhin nicht. Das ist vor allem deshalb […] (01)
vor 8 Stunden
Histoire TV beleuchtet Caligula und Pearl Harbor mit neuen Dokus
Der Sender setzt Ende Mai auf historische Großthemen. Ende Mai zeigt man einen Film über Kaiser Caligula. Am Montag, den 25. Mai ab 20: 50 Uhr, steht der römische Kaiser Caligula im Mittelpunkt einer zweiteiligen Doku von Georges Ozer und Vivien Floris. Unter dem Titel Caligula: Les trésors retrouvés versucht die Reihe, das Bild des oft als wahnsinnig geltenden Herrschers zu korrigieren. […] (00)
vor 5 Stunden
Atlético Madrid - FC Arsenal
Madrid (dpa) - Der FC Arsenal hat sich auch ohne den verletzten Kai Havertz eine gute Ausgangsposition für den Einzug ins Finale der Champions League verschafft. Im Stimmungstempel von Atlético Madrid retteten die weiter ungeschlagenen Londoner ein 1: 1 (1: 0) gegen die Mannschaft von Diego Simeone.  24 Stunden nach dem irren Tor-Spektakel von Paris […] (02)
vor 6 Stunden
man, business, adult, suit, bitcoin, cryptocurrency, blockchain, crypto, formal, confident
Der Bitcoin-Kurs hat einen erneuten Rückgang unter die Marke von $76.500 begonnen. BTC konsolidiert derzeit und könnte Schwierigkeiten haben, sich über der Unterstützung bei $75.000 zu halten. Bitcoin konnte sich nicht über $76.500 halten und verzeichnete weitere Verluste. Der Kurs handelt unter $76.200 und dem 100-Stunden-SMA (Simple Moving […] (00)
vor 58 Minuten
 
dbh veröffentlicht Nachhaltigkeitsbericht 2025
Bremen, 29.04.2026 (PresseBox) - Die dbh Logistics IT AG (dbh) hat ihren […] (00)
Vortrag des finnischen Geologen Dr. Teemu Öhman
Donauwörth, 29.04.2026 (lifePR) - Der Geopark Ries lädt anlässlich des Jubiläums „20 […] (00)
Bewerbungsphase für Mobilsiegel 2026 startet
Freiburg im Breisgau, 29.04.2026 (lifePR) - Freiburger Verkehrs AG (VAG) zertifiziert […] (00)
Figur He-Man (r) von Masters of the Universe
Los Angeles (dpa) - Der amerikanische Spielzeug-Designer Roger Sweet, der in den […] (00)
Billie Eilish war kurz davor, ihren Überraschungsauftritt bei Coachella abzusagen.
(BANG) - Billie Eilish hat zugegeben, dass sie kurz davor war, ihren […] (00)
Paris Saint-Germain - Bayern München
Paris (dpa) - Erst klatschten sich die Bayern-Spieler gegenseitig ab, dann umarmten […] (10)
«La Chaparra»: Movistar Plus+ zeigt Doku über spanische Sekte
Die neue Serie beleuchtet die Geschichte einer Familie, die jahrzehntelang in einer religiösen […] (00)
Der Aufruf zum Handeln Der jüngste Appell des hochrangigen Ministers Neuseelands […] (00)
 
 
Suchbegriff