www.wikidata.de-de.nina.az
ABAP Unit ist die xUnit Umsetzung fur die Programmiersprache ABAP ABAP Unit ist dabei direkt in die Sprache ABAP und die Entwicklungsumgebungen SE80 sowie Eclipse integriert Die Modultests sind als spezielle Testklassen modelliert Eine solche Testklasse hat i d R eine oder mehrere Testmethoden und optional spezielle Methoden zum Auf und Abbau des Testumfeldes Die Testklassen konnen als lokale Klassen direkt im zu testenden Programm enthalten sein Dadurch kann es nie zu abweichenden Versionen zwischen Modultest und getester Funktionalitat kommen Durch die Sprachintegration ist dabei eine strikte Trennung zwischen Produktiv und Test Code sichergestellt So konnen die Testklassen den Produktiv Code ausfuhren aber nicht umgekehrt Es ist moglich die Modultests direkt aus den Editoren und dem Repository Browser der SE80 auszufuhren Ctrl Shift F10 In neueren Versionen gt Netweaver 7 02 gibt es einen speziellen ABAP Unit Browser und eine Anbindung an die Abdeckungs oder Coverage Ermittlung Mit Hilfe des Werkzeuges Code Inspector kann man viele Modultests auf einmal ausfuhren z B alle Modultests die in Programmen eines Paketes enthalten sind Es gibt in ABAP Unit keine Moglichkeit einzelne Modultests programmatisch zu Test Suites zusammenzufassen Als Workaround konnen jedoch Selektionsvarianten zum Programm RS AUCV RUNNER mit unterschiedlichen zu testenden Paketen Klassen Funktionsgruppen und Programmen angelegt werden Ab ABAP 7 40 steht mit der Klasse CL ABAP TESTDOUBLE ein syntaktisch an EasyMock angelehntes Mocking Framework zur Verfugung 1 ABAP 7 50 fuhrt mit Test Seams die Moglichkeit des partiellen Mockings ein indem einzelne Codebereiche z B die bis dato nicht mockbaren Funktionsbausteinaufrufe im Unit Test redefiniert werden konnen 2 Ab ABAP 7 52 konnen mittels der Klasse CL OSQL TEST ENVIRONMENT Datenbank Tabellen gemockt werden Die gemockten Tabellen ersetzen die Originale in Open SQL Anweisungen ohne Anderungen am produktiven Coding sodass im Testfall nicht auf produktiven Daten gearbeitet wird 3 Inhaltsverzeichnis 1 Beispiel 2 Siehe auch 3 Literatur 4 EinzelnachweiseBeispiel Bearbeitenclass tc text buffer definition final for testing duration short risk level harmless private section methods set and get text for testing raising cx dynamic check cx static check fail On Buffer Overflow for testing raising cx dynamic check cx static check endclass class tc text buffer implementation method fail on buffer overflow data buffer new zcl text buffer try do 1000 times buffer gt add text sy abcde enddo cl Abap unit assert gt fail No Buffer Overflow catch zcx Buffer Overflow no Handler endtry endmethod method set and get text constants c hello world type string value Hello World data buffer new zcl text buffer buffer gt set text c hello world cl abap unit assert gt assert equals exporting act buffer gt get text exp c hello world endmethod endclass Siehe auch BearbeitenModultest TestautomatisierungLiteratur BearbeitenStephan Kaleske Query Reporting mit SAP ERP Galileo Press Bonn 2009 ISBN 978 3 8362 1433 9 SAP PRESS Damir Majer Unit Tests mit ABAP Unit dpunkt verlag Heidelberg 2009 ISBN 978 3 89864 539 3 Einzelnachweise Bearbeiten ABAP Test Double Framework An Introduction SAP Blogs Abgerufen am 7 Januar 2020 ABAP News for Release 7 50 Test Seams and Test Injections SAP Blogs Abgerufen am 7 Januar 2020 SAP Help Portal Abgerufen am 1 April 2019 Abgerufen von https de wikipedia org w index php title ABAP Unit amp oldid 210778845