一个SAP cds view test double的例子

简介: 一个SAP cds view test double的例子

*"* use this source file for your ABAP unit test classes

CLASS lcl_test_productshorttex

DEFINITION FINAL FOR TESTING

DURATION SHORT

RISK LEVEL HARMLESS .

 PRIVATE SECTION.

   CLASS-DATA:

     environment TYPE REF TO if_cds_test_environment.

   CLASS-METHODS:

     class_setup

       RAISING

         cx_static_check,

     class_teardown.

   DATA:

     test_data   TYPE REF TO if_cds_test_data,

     act_results TYPE STANDARD TABLE OF p_crms4_productshorttext  WITH EMPTY KEY,

     makt_data   TYPE STANDARD TABLE OF makt  WITH EMPTY KEY,

     mara_data   TYPE STANDARD TABLE OF mara  WITH EMPTY KEY.

   METHODS:

     setup RAISING cx_static_check,

     insert_test_data IMPORTING

                        it_data     TYPE ANY TABLE

                        iv_viewname TYPE string,

     test_single_record      FOR TESTING RAISING cx_static_check.

ENDCLASS.

CLASS lcl_test_productshorttex  IMPLEMENTATION.

 METHOD class_setup.

   environment = cl_cds_test_environment=>create(   i_for_entity ='PRODUCTSHORTTEXT'  ).

 ENDMETHOD.

 METHOD setup.

   environment->clear_doubles( ).

 ENDMETHOD.

 METHOD class_teardown.

   environment->destroy( ).

 ENDMETHOD.

 METHOD insert_test_data.

   CLEAR test_data.

   test_data = cl_cds_test_data=>create( i_data = it_data ).

   DATA(z_test_data_dbl) = environment->get_double( i_name = iv_viewname ).

   z_test_data_dbl->insert( test_data ).

 ENDMETHOD.

 METHOD test_single_record.

   DATA: ls_productshorttext TYPE productshorttext,

         lt_productshorttext TYPE TABLE OF productshorttext.

   makt_data = VALUE #(  (

          mandt =  sy-mandt

          matnr =  'JA-1010-NOT_EXIST'

          spras =  'E'

          maktx =  'JDK Version 1.6'

          maktg =  'JDK VERSION 1.6'  )   ).

   insert_test_data( it_data = makt_data iv_viewname = 'MAKT' ).

   mara_data = VALUE #(  (

                   mandt = sy-mandt

                   matnr = 'JA-1010-NOT_EXIST'

                   scm_matid_guid16 =  '6C0B84B759DF1ED6B0D80E896AE01049'

                ) ).

   insert_test_data( it_data = mara_data iv_viewname = 'MARA' ).

   lt_productshorttext = VALUE #(  (

                                     productguid = '6C0B84B759DF1ED6B0D80E896AE01049'

                                     language = 'E'

                                     productname = 'JDK Version 1.6'

                                     productnamelarge = 'JDK VERSION 1.6'

                                  )  ).

   SELECT * FROM productshorttext INTO TABLE @DATA(act_results).

   cl_abap_unit_assert=>assert_equals( act = lines( act_results )

                                        exp = 1 ).

   READ TABLE act_results INDEX 1 INTO ls_productshorttext.

   cl_abap_unit_assert=>assert_table_contains( line = ls_productshorttext

                                       table =  lt_productshorttext ).

 ENDMETHOD.

ENDCLASS.


相关文章
|
22天前
|
Web App开发 开发者 存储
介绍一个 webp 格式转 png 格式的软件:XNConvert
介绍一个 webp 格式转 png 格式的软件:XNConvert
25 6
介绍一个 webp 格式转 png 格式的软件:XNConvert
|
22天前
|
数据库 存储 BI
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
12 0
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
|
22天前
|
数据库
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
10 0
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
|
22天前
|
数据库 SQL 应用服务中间件
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
20 0
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
|
6月前
|
数据建模 BI
什么是 SAP S/4HANA 的 VDM Layering Architecture 的 CDS Hierarchy View
什么是 SAP S/4HANA 的 VDM Layering Architecture 的 CDS Hierarchy View
28 0
|
6月前
|
设计模式 SQL 数据建模
SAP Virtual Data Model 和 CDS View 的关联关系
SAP Virtual Data Model 和 CDS View 的关联关系
30 0
|
6月前
|
供应链 搜索推荐 数据建模
什么是 SAP CDS 元数据的分层概念
什么是 SAP CDS 元数据的分层概念
49 0
|
6月前
|
SQL 数据可视化 数据挖掘
什么是 SAP S/4HANA 的 VDM Layering Architecture 的 CDS Analytical Query View
什么是 SAP S/4HANA 的 VDM Layering Architecture 的 CDS Analytical Query View
33 0
|
1月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
27 0
|
1月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
15 0