在单元测试方法中提高cx_static_check

2020-09-02 22:18发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好社区

,当我创建单元测试并使用" FOR TESTING"声明测试方法时,我发现有时将FOR TESTING与" RAISING cx_static_check"一起使用。 这样做的目的是什么? 每个声明为" FOR TESTING"的方法都还需要" RAISING cx_static_check"吗?

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好社区

,当我创建单元测试并使用" FOR TESTING"声明测试方法时,我发现有时将FOR TESTING与" RAISING cx_static_check"一起使用。 这样做的目的是什么? 每个声明为" FOR TESTING"的方法都还需要" RAISING cx_static_check"吗?

谢谢。

付费偷看设置
发送
4条回答
悠然的二货
1楼 · 2020-09-02 22:52.采纳回答

Hello Igor

基于建议如果被测代码能够引发异常,则测试方法本身不应处理该异常,而应在其签名中声明(除了引发异常),因此,如果它在运行时发生,则会导致 测试用例失败。

BR,
Gábor

Tong__Ming
2楼-- · 2020-09-02 22:30

您好,Nawanandana,实际上我使用类异常的时间超过了1年,所以您认为添加" "引发cx_static_check"是指在设计时/编码期间,程序员刚刚收到了有关不引发异常的语法警告? 我在Thomas Hammer和Juergen Heymann提出的openap educ(有关单元测试和编写可测试代码的教育)中注意到,他们使用此" RAISING cx_static_check",但是我看不到他们会在测试类的代码中引发任何异常。 ..so我想知道SAP单元测试框架的最佳实践是否是针对声明为" FOR TESTING"的每个测试方法都使用此升高声明。 我仍然不太确定他们为什么拥有这个

其代码中的" RAISING cx_static_check"。 也许他们在课程中做了解释,而我只是错过了。

亦是此间程序员
3楼-- · 2020-09-02 22:50

感谢Gábor和Nawanandana的帮助。 我认为我们可以结束这个话题。 我也找到了此链接:

https://help .sap.com/viewer/ba879a6e2ea04d9bb94c7ccd7cdac446/7.40.16/en-US/dd587324e2424b14ab5afb3239a77a8d.html 试图解释

的用法

ABAP单元测试中的异常处理。 我还创建了一个方法引发(正在测试的代码),在该方法中引发异常,并为此剪切创建了测试方法。 在测试方法的声明中,我必须添加" RAISING zcx_…"。 否则,我在Eclipse中收到警告,我需要添加" Raising ..."或在测试方法中捕获异常。 同样的警告,我得到另一个非测试方法。 因此,ABAP在这里对于测试方法和非测试方法的行为相同。 在我的测试方法中,我声明" RAISING zcx_…"。 而不是" RAISING cx_static ...",因为我认为引发具体异常会更好。 如果我要剪切多个异常,也许会使用" RAISING cx_static ...",以避免引发多个具体异常。

在上面的链接中,我看到他们在使用

之前捕获了他们的zerodivide异常。

cl_abap_unit_assert =>失败...在我的测试方法中,我在

之后捕获到我的zcx异常

cl_abap_unit_assert =>失败...,因为我发现这可以正常工作。 对我来说,如果它们在cl_abap_unit_assert => fail ...之前捕获到异常,那么上面的链接现在看起来像是一个错误。

nice_wp
4楼-- · 2020-09-02 22:33

HI,

这就是我们所说的< a hraf=" https://wiki.scn.sap.com/wiki/display/ABAP/Exception+Handling+in+ABAP+object+with+the+help+of+Exception+Class"> ABAP对象中的异常处理

进一步例外类别

希望这对您有所帮助。

一周热门 更多>