点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我一直在使用test_double框架来测试和分析类中的方法。 通常,由于我们的大多数方法仅包含select和loop语句,因此我将方法加倍并将模拟数据插入到环境中。 但是我们的方法之一是调用某些函数(例如" EQUIPMENT_READ")和某些其他函数来填充某些结构。 因此,仅对方法中的表进行模拟和填充不足以传递这些函数,这些函数希望填充真正的深表以提供某些结果。 我的问题是如何在不使用模拟数据填充表的情况下绕过这些功能,或者如果需要模拟数据填充,如何以最可能的方式处理呢? 原始方法调用以下函数:
调用函数" EQUIPMENT_READ" 出口 equi_no = ls_result-eq_number 输入 equi = ls_equi eqkt = ls_eqkt 例外情况 auth_no_begrp = 1 auth_no_iwerk = 2 auth_no_swerk = 3 eqkt_not_found = 4 equi_not_found = 5 equz_not_found = 6 iloa_not_found = 7 auth_no_ingrp = 8 auth_no_kostl = 9 err_handle = 10 lock_failure = 11 ## NUMBER_OK auth_no_badi = 12 其他= 13。
在测试方法中,尽管我填写了以下方法,但填充ls_equi和ls_eqkt却无济于事,因为在更深的一层中,它仍在搜索某些缓冲表。 测试方法:
测试方法:
class-data:环境类型ref if_osql_test_environment。 rt_equi =值#((equnr ='TU_NUM_1'eqart ='IDMRDTL') (equnr ='TU_NUM_2'eqart ='IDMRDSU'))。 环境->插入测试数据(i_data = rt_equi)。 rt_eqkt =值#((equnr ='TU_NUM_1'spras ='E'eqktu ='EQUIPMENT_TXT_1') (equnr ='TU_NUM_2'spras ='E'eqktu ='EQUIPMENT_TXT_2'))。 环境->插入测试数据(i_data = rt_eqkt)。 rt_equz =值#((equnr ='TU_NUM_1'datbi ='01012020'eqlfn ='001') (equnr ='TU_NUM_2'datbi ='01012020'eqlfn ='001'))。 环境->插入测试数据(i_data = rt_equz)。
不得为此使用Open SQL Test Double Framework。 仅当您的测试方法具有Open SQL语句时,才应使用该方法。
相反,您必须具有包装EQUIPMENT_READ的方法,该方法仅返回使用的组件。 然后,您可以轻松地在测试类中使用此方法。
Hello Sandra,
感谢您的回复。 我可以学习该怎么做吗? 您可以分享一个我可以跟踪的链接吗?
一周热门 更多>