SAP NetWeaver AS ABAP Release 750, ©Copyright 2016 SAP AG. Alle Rechte vorbehalten.
ABAP - Schlüsselwortdokumentation → ABAP - Referenz → Programmbearbeitung → Programme testen und prüfen → ABAP Unit → Testseams →
TEST-SEAM
Syntax
TEST-SEAM seam.
[statement_block]
END-TEST-SEAM.
Wirkung
Die Anweisung TEST-SEAM leitet einen Testseam namens seam ein, der durch END-TEST-SEAM abgeschlossen wird. Eine Testklasse des aktuellen Programms kann mit der Anweisung TEST-INJECTION den Anweisungsblock statement_block durch eine dort definierte Injection ersetzen. Wenn keine Injection für den Testseam ausgeführt wird, wird der ursprüngliche Code ausgeführt.
Testseams haben folgende Eigenschaften:
Hinweis
Injections können nur in Testklassen angelegt werden, die in einem Test-Include des aktuellen Programms definiert sind. Derzeit sind Test-Includes nur für Class-Pools und Funktionsgruppen möglich. Daher sind Testseams auch nur in Class Pools und Funktionsgruppen sinnvoll.
Beispiel
Als Beispiel für produktiven Code dient hier die Klasse CL_DEMO_TEST_SEAMS. In der Methode CHANGE_PRICE wird der Preis eines Fluges in der Datenbanktabelle SFLIGHT mit einem Faktor multipliziert und bei erfolgreicher Ausführung der geänderte Preis zurückgegeben. Wenn ein Datenbankzugriff scheitert, wird statt des Preises ein spezifischer ungültiger Wert zurück gegeben.
Für beide Datenbankzugriffe sind Testseams definiert. Dadurch kann die Ausführung eines Modultests ohne Zugriff auf tatsächliche Daten durchgeführt werden. Siehe Beispiel zu TEST-INJECTION.