点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我试图在一个非常简单的s...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我试图在一个非常简单的s...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我试图在一个非常简单的se38程序中添加TDD,但遇到了一个问题,我尝试在论坛上进行谷歌搜索,但未找到解决方案。 因此,如果有人已经遇到了这个问题,那么请分享经验如何解决这一问题将对您有很大的帮助。
问题语句:在我的旧程序(不是基于OOP)中,在子例程中有一条message语句,这导致ABAP单元测试运行失败。
尝试了几种方法,到目前为止似乎没有成果。 每次它都会引发CX_AUNIT_UNCAUGHT_MESSAGE异常。
可能缺少一些非常基本的东西!
这是消息语句引起的问题,可能是因为它试图与GUI连接,不确定。
我正在下面的"测试类/方法"下处理这段代码:
但是它仍然失败,我的期望是,它应该通过测试。 As此消息需要根据给定的测试数据进行提示,并且我不想将该消息作为来自process_data例程的导出参数传递。 我想尽量保持表格不变。
任何指向该特定问题的指针都将非常有帮助。
谢谢。 索姆
(118.1 kB)
你好
在单元测试中,被测代码中的普通MESSAGE语句在单元测试中被"禁止"。
单元测试运行时实际上在会话中运行,而没有可用的对话框。 就像您的代码片段一样,没有引发消息或未添加其他消息的消息取决于对话框(或在后台运行),因此在这里不起作用。
结果屏幕为此提示(微弱) 分析标签中的案例中包含错误的文字:" MESSAGE ...引发,但未处理!" (我确实知道这完全没有帮助)。 ABAP Unit坚称,您的MESSAGE语句已经添加了RAISING附加项,并且在到达单元测试运行时环境的主要代码之前没有人抓住它。
您需要更改代码以传播此消息,而不是直接传播此消息。 在此表单中显示:
然后在调用此表单的地方调整代码以处理异常/表单协议 显示它。
最诚挚的问候
感谢您向彼得指出。 实际上,我尝试过,但是在表单中这并没有被接受,因为带有引发的消息是基于非类的,而表单引发(基于类)。 但这在类/方法中可以正常工作。 谢谢您的评论和帮助!
您好 Frederic Girod ,
感谢您的评论。 在这里,您去了:
您可以发布本地测试类定义和测试方法定义吗?
谢谢,索姆
非常感谢,我感谢您的回答,并列举了一些有用的很好的例子。 但是我的问题是PERFORM/FORM。
As表单也可以引发异常,但是这是基于类的,而message可以引发非基于类的异常。
因此,我无法通过消息后引发raise语句,但使用引发异常类型.....(基于类)的方式将该异常传播回调用者。
我正在尝试使之工作,因为有许多遗留代码具有这种情况,以及是否有任何可用的选项(我不知道但有人已经用某种技术解决了),否则需要代码重新对齐
我发现基于类的场景有点容易,因为有很多选择(您已经共享了一个),也可以继承和重新定义并在try〜catch内部进行处理。 但是,当这是FORM且不在全局FM/Class下时,我感觉有些不同。
谢谢,是的,如果出现异常,可以同意使用一种更好的方法来处理这种情况...-问候,索姆
一周热门 更多>