CLASS LOCAL_TESTCASE_NAME DEFINITION FOR TESTING
DURATION SHORT
RISK LEVEL HARMLESS.
PUBLIC SECTION.
DATA HANDLER_UT TYPE REF TO LHC_MAINCLASS. “ACTION & VALIDATION Handler
PRIVATE SECTION.
CLASS-METHODS: CLASS_SETUP.
CLASS-METHODS: CLASS_TEARDOWN.
METHODS: SETUP.
METHODS CREATE_FOR_DETERMINATION FOR TESTING.
METHODS UPDATE_FOR_DETERMINATION FOR TESTING.
METHODS DELETE_FOR_DETERMINATION FOR TESTING.
METHODS ACTION FOR TESTING.
METHODS VALIDATION FOR TESTING.
METHODS CREATE_CHILD_DETERMINATION FOR TESTING.
METHODS CLASS_SPECIFIC_METHOD FOR TESTING.
METHODS VALIDATION FOR TESTING.
ENDCLASS.
==================================================================================
“Local Test Class Implementation
CLASS LOCAL_TESTCASE_NAME IMPLEMENTATION.
METHOD SETUP.
CREATE OBJECT HANDLER_UT FOR TESTING. "<<<<<<< observe "for testing" syntax while creating
object for local behaviour class from the ABAP Unit test class
ENDMETHOD.
METHOD CREATE_FOR_DETERMINATION.
TEST-INJECTION TEST.
END-TEST-INJECTION.
MODIFY ENTITY R_*TP
CREATE FROM VALUE #( ( ) )
FAILED DATA(FAILED)
REPORTED DATA(REPORTED)
MAPPED DATA(MAPPED).
ENDMETHOD.
METHOD UPDATE_FOR_DETERMINATION.
MODIFY ENTITY R_*TP
UPDATE FROM VALUE #( ( ) )
FAILED DATA(FAILED)
REPORTED DATA(REPORTED)
MAPPED DATA(MAPPED).
ENDMETHOD.
METHOD DELETE_FOR_DETERMINATION.
MODIFY ENTITY R_*TP
DELETE FROM VALUE #( ( ) )
FAILED DATA(FAILED)
REPORTED DATA(REPORTED)
MAPPED DATA(MAPPED).
ENDMETHOD.
METHOD ACTION.
MODIFY ENTITY R_*TP
EXECUTE ACTION_NAME FROM VALUE #( ( ) ) or
EXECUTE CHILD_ACTION FROM VALUE #( ( %CID = 'CID' ) )
FAILED DATA(FAILED)
REPORTED DATA(REPORTED)
MAPPED DATA(MAPPED).
ENDMETHOD.
METHOD VALIDATION.
HANDLER_UT->VALIDATE ( EXPORTING KEYS = VALUE #( ( ) ) ).
ENDMETHOD.
METHOD CLASS_SPECIFIC_METHOD.
HANDLER_UT->ACTIVATE( EXPORTING KEYS = VALUE #( ( %PARAM-UUID = LS_STRUCTURE-UUID ) ) ).
ENDMETHOD.
METHOD CREATE_CHILD_DETERMINATION.
“Collect Sample Data
SELECT SINGLE * FROM TABLE
WHERE () INTO @DATA(LS_DATA).
MODIFY ENTITY R_*TP CREATE BY \_*TP FIELDS (
COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5 COLUMN6 COLUMN7 COLUMN8 )
WITH VALUE #( ( %KEY-UUID = LS_DATA -FIELD %TARGET = VALUE #( (
%CID = 'CID'
COLUMN1 = 'TEST'
COLUMN2 = 'TEST'
COLUMN3 = SY-DATUM
COLUMN4 = SY-DATUM + 1
COLUMN5 = LS_DATA-COLUMN5
COLUMN6 = LS_DATA- COLUMN6
COLUMN7 = LS_DATA-COLUMN7) ) ) )
MAPPED DATA(MAPPED)
FAILED DATA(FAILED)
REPORTED DATA(REPORTED).
ENDMETHOD.
ENDCLASS.
==================================================================================
CLASS LOCAL_TESTCASE_NAME DEFINITION DEFERRED FOR TESTING. " observe "for testing" syntax
for Unit Test
CLASS LHC_MAINCLASS DEFINITION INHERITING FROM CL_ABAP_BEHAVIOR_HANDLER FRIENDS
LOCAL_TESTCASE_NAME.
ENDCLASS.
==================================================================================
With SAVE:
CLASS saver_test DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PUBLIC SECTION.
DATA saver_ut TYPE REF TO lcl_save.
PRIVATE SECTION.
METHODS: setup.
METHODS: test_save_modified FOR TESTING.
ENDCLASS.
CLASS saver_test IMPLEMENTATION.
METHOD setup.
CREATE OBJECT saver_ut FOR TESTING.
ENDMETHOD.
METHOD test_save_modified.
saver_ut->save_modified( create = VALUE #( ) delete = VALUE #( ) update = VALUE #( ) ).
ENDMETHOD.
ENDCLASS.
--------------------------------------------------------------------------------------------------------------------------------------
CLASS saver_test DEFINITION DEFERRED FOR TESTING. " observe "for testing" syntax for Unit Test
CLASS lcl_save DEFINITION INHERITING FROM cl_abap_behavior_saver FRIENDS saver_test .
PROTECTED SECTION.
METHODS save_modified REDEFINITION.
ENDCLASS.