仅在生成后立即检测/可执行ABAP单元测试。如何使测试类可见?

时间:2019-04-23 18:28:31

标签: unit-testing sap abap

我试图为ABAP中的类编写单元测试,但是当我在Eclipse中手动编写代码时,IDE告诉我没有测试类,也没有可执行测试。如果我在SAP GUI中使用向导,则可以使用生成的测试,也可以将其替换为测试,然后再进行测试-但是,当我关闭SAP GUI并再次将其重新打开时,它会不会再次检测到任何测试类或可执行程序测试。

对于我来说,这似乎是一个错误,或者是我所使用的 SAP 版本的某些问题:

SAP NETWEAVER 7.4 15(06/2016)sap.com SAP NETWEAVER 7.4

我是ABAP初学者,但是我已经通过测试成功地覆盖了我的另一门课,并且在那里我没有任何问题。唯一的区别是,另一个类在具有更高版本的SAP-7.5的不同系统上运行。

您遇到过这样的问题吗?

1 个答案:

答案 0 :(得分:1)

经过几天的研究,我发现有一个 SAP Note 2598526 ,它几乎描述了我遇到的问题。

为将来参考,它指出:

  

原因和先决条件:   ABAP单元测试框架调用类CL_ABAP_COMPILER来从当前程序中确定测试类。但是,类CL_ABAP_COMPILER的调用由于内部错误而终止。

     

解决方案:   如果说明适合您的情况,请安装一个新内核,其中包含补丁“ ABAP-SYCH:Dumped TYPES表具有悬挂的类型ID”。

现在,我们将尝试修补内核,如果有帮助,我会通知您。

编辑06/05/2019:

所以...该修补程序无法解决此问题,但看来我终于找到了解决方案。它包括三个步骤:

  1. 打开SE03并确保此处列出的名称空间带有开发许可,并且以生产角色(P)
  2. 打开报告: SATC_AC_INIT_NAMESPACE_REG ,然后将名称空间注册到ATC(ABAP测试主控室)中-否则,主控室将忽略该名称空间,并且不会在测试类中进行扫描。
  3. 名称空间的注册将创建一个请求,因此将其传输并响应具有单元测试的类。

这样做时,您应该能够运行测试-在SAP GUI和Eclipse中都没问题:)。