Add ABAP unit test cheat sheet
This commit is contained in:
73
src/zcl_demo_abap_unit_test.clas.locals_imp.abap
Normal file
73
src/zcl_demo_abap_unit_test.clas.locals_imp.abap
Normal file
@@ -0,0 +1,73 @@
|
||||
******************************************************
|
||||
* Local interface
|
||||
******************************************************
|
||||
INTERFACE lif_get_data.
|
||||
|
||||
TYPES: carr_tab TYPE TABLE OF zdemo_abap_fli WITH EMPTY KEY,
|
||||
occ_rate TYPE p LENGTH 4 DECIMALS 2.
|
||||
|
||||
METHODS:
|
||||
select_flight_data IMPORTING carrier TYPE zdemo_abap_fli-carrid
|
||||
RETURNING VALUE(flight_data) TYPE carr_tab,
|
||||
|
||||
"This method is included to demonstrate the PARTIALLY IMPLEMENTED
|
||||
"addition in the test class when implementing the test double
|
||||
say_hello RETURNING VALUE(hi) TYPE string.
|
||||
|
||||
ENDINTERFACE.
|
||||
|
||||
******************************************************
|
||||
* Local class
|
||||
* The class implements the local interface.
|
||||
******************************************************
|
||||
CLASS lcl_data_prov_local_itf DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES lif_get_data.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_data_prov_local_itf IMPLEMENTATION.
|
||||
|
||||
METHOD lif_get_data~select_flight_data.
|
||||
|
||||
SELECT seatsmax, seatsocc
|
||||
FROM zdemo_abap_fli
|
||||
WHERE carrid = @carrier
|
||||
INTO CORRESPONDING FIELDS OF TABLE @flight_data.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_get_data~say_hello.
|
||||
hi = `Hello, ` && sy-uname && `.`.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
******************************************************
|
||||
* Local class that implements a global interface
|
||||
* It serves the purpose of a data provider. It can be
|
||||
* imagined as a global class, and a method that is
|
||||
* implemented there and called by the class under test
|
||||
* is identified as DOC. A local class is used in the
|
||||
* example to keep the number of separate artifacts small.
|
||||
******************************************************
|
||||
CLASS lcl_data_prov_glo_itf DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES zdemo_abap_get_data_itf.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_data_prov_glo_itf IMPLEMENTATION.
|
||||
|
||||
METHOD zdemo_abap_get_data_itf~select_flight_data.
|
||||
|
||||
SELECT seatsmax, seatsocc
|
||||
FROM zdemo_abap_fli
|
||||
WHERE carrid = @carrier
|
||||
INTO CORRESPONDING FIELDS OF TABLE @flight_data.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zdemo_abap_get_data_itf~say_hello.
|
||||
hi = `Hello, ` && sy-uname && `.`.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user