点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好社区, ...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好社区, ...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好社区,
当从本地模拟实现过渡到Test Double Framework时,我在使用它对接口上带有 Exporting Parameter 的方法进行双重处理时遇到了一个问题。 当测试方法从"新"双重实例中导入值时,该实例在生成双重类时首次调用该实例中的方法时,将引发CX_ATD_EXCEPTION。
我什至发现了
此博客文章介绍了该框架,但是用于导出参数的示例未将其值导入测试方法中。 将代码复制到系统并接收它们会触发相同的框架异常。
奇怪的是,当两次调用该方法时,但仅在第二次调用中接收到它的值时,它才能按预期工作。
下面是此行为的示例代码。 一个简单的全局界面:
界面zif_test_df public。 方法is_account_open 导入i_number类型i 导出值(e_is_open)键入abap_bool。 终端接口。
单元测试代码:
报告zp_test_df。 ltc_test类定义风险等级无害持续时间,测试短。 私人部分。 方法设置。 方法fail_when_importing_firstcall进行测试。 方法passs_when_importng_secndcall进行测试。 数据m_mock类型引用到zif_test_df。 数据m_result类型为abap_bool。 结束类。 ltc_test类的实现。 方法设置。 m_mock?= cl_abap_testdouble => create('ZIF_TEST_DF')。 cl_abap_testdouble => configure_call(m_mock)-> set_parameter(name ='E_IS_OPEN'value = abap_true)。 方法。 方法fail_when_importing_firstcall。 "使用'[ABAP Testdouble Framework]导入配置调用中不允许的参数来提高CX_ATD_EXCEPTION。使用SET_PARAMETER' m_mock-> is_account_open( 导出i_number = 123 导入e_is_open = m_result )。 方法。 方法passs_when_importng_secndcall。 "首先调用,它会正确初始化double实例。 m_mock-> is_account_open( 导出i_number = 123 *导入ev_is_open = m_result )。 "第二次调用有效,并且m_result从double FW接收值。 m_mock-> is_account_open( 导出i_number = 123 导入e_is_open = m_result )。 方法。 结束类。
单元测试结果:
(18.8 kB)
是的,我在这种情况下使用FAIL。
一周热门 更多>