Ansicht
Dokumentation

ABENABAP_UNIT - ABAP UNIT

ABENABAP_UNIT - ABAP UNIT

Vendor Master (General Section)   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

ABAP Unit

ABAP Unit ist ein Test-Framework für Modultests. Mit ABAP Unit können

  • Einzelne Tests oder Massentests ausgeführt werden
  • Testergebnisse ausgewertet werden

Einzelne Tests lassen sich direkt im Werkzeug für das entsprechende Programm starten. Umfassendere Testläufe werden aus dem ABAP Unit Browser der ABAP Workbench oder über das ABAP Test Cockpit ausgeführt. ABAP Unit ist eng mit dem Coverage Analyzer verknüpft, so dass auch die Testabdeckung gemessen werden kann.

In ABAP-Programmen treten Modultests als Testmethoden lokaler Testklassen auf. Sie gehören nicht zum produktiven Quelltext eines Programms, werden aber wie dieser transportiert. Das Ausführen und die Auswertung solcher Testmethoden erfolgt über das ABAP Unit Framework. In den Testmethoden werden in der Regel zu testende Einheiten (Module) des produktiven Quelltextes aufgerufen und danach die Ergebnisse mit Methoden der Klasse CL_ABAP_UNIT_ASSERT überprüft. Testklassen und Testmethoden werden mit folgenden Sprachelementen definiert. Für die Definition von Testklassen in Class-Pools und Funktionsgruppen sind spezielle Test-Includes vorgesehen.

Wenn Testklassen Interfaces implementieren, müssen dort in der Regel nicht alle Interfacemethoden implementiert werden. Die sonst auftretende Fehlermeldung bzw. Warnung kann deshalb in Testklassen mit einem Zusatz zur Anweisung INTERFACES ausgeblendet werden:

Wenn produktiver Quelltextanteile enthält, die für Modultests nicht geeignet sind, können Quelltextabschnitte als Testseams gekennzeichnet werden. In Methoden von Testklassen können Injections definiert werden, welche die Testseams bei Ausführung eines Modultests mit testfreundlichem Quelltext ersetzen.

Um Repository-Objekte zu testen, die keine Testklassen in ADT unterstützen, kann das spezielle ABAP-Doc-Kommentar "! @testing ... zur Definition einer Testrelation verwendet werden, die eine Testklasse oder Testmethode mit dem Repository-Objekt verknüpft.

Hinweise

  • Alle für das Testen im Rahmen von ABAP Unit benötigten Komponenten sollten ausschließlich in Testklassen definiert werden, damit sie in Produktivsystemen nicht generiert und aus produktivem Quelltext nicht angesprochen werden können. Dies umfasst neben Testklassen mit Testmethoden auch Testattrappen und weitere Hilfsklassen, die keine Testmethoden enthalten.
  • Bei einem Modultest darf der produktive Quelltext, der über eine Testmethode mit den Anweisungen LEAVE PROGRAM LEAVE TO TRANSACTION und SUBMIT ohne AND RETURN aufgerufen wird, nicht verlassen werden.
  • Ein Ersetzungsdienst von ermöglicht es, in Testklassen den Zugriff auf Datenquellen von -Anweisungen auf andere Datenbankobjekte umzulenken.
  • Für mehr Informationen siehe die Dokumentation ABAP Unit im SAP Help Portal.





CL_GUI_FRONTEND_SERVICES - Frontend Services   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5030 Date: 20240523 Time: 154044     sap01-206 ( 71 ms )