我想可以访问变量外部测试范围。要澄清,我的意思是考虑以下示例:
DATA lt_doc_import TYPE zcl_za_doc_cleaner=>tt_doc_protocol.
MOVE-CORRESPONDING mo_dc_cleaner->mt_doc_import TO lt_doc_import.
TEST-INJECTION query_doc_protocol.
rt_doc_protocol = lt_doc_import.
END-TEST-INJECTION.
DATA(lt_protocol) = mo_dc_cleaner->query_doc_protocol( ).
mo_dc_cleaner->filter_delete_protocol(
EXPORTING
it_doc_import = mo_dc_cleaner->mt_doc_import
it_doc_protocol = lt_protocol
IMPORTING
et_doc_import = mo_dc_cleaner->mt_doc_import
et_msg = DATA(lt_msg)
).
DESCRIBE TABLE lt_msg LINES DATA(lv_msg).
DESCRIBE TABLE mo_dc_cleaner->mt_doc_import LINES DATA(lv_doc_import).
编译器在抱怨,可变lt_doc_import是未知的。如何从 TEST-INJECTION
中获得变量?
引用该主题的SAP文档的报价,有...
注射无法访问指定测试接缝位置不可见的类型和对象。
这特别适用于注射中定义的测试类和测试方法的类型和对象。这些类型和对象放在语句测试注射的位置,但在注射中不可见。
因此,不幸的是,无法访问与TEST-INJECTION
相同范围的变量。您只能访问与TEST-SEAM
相同范围中也可见的变量。