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

标签 unit-testing abap

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

这对我来说似乎是一个错误,或者我正在使用的 SAP 版本有问题:

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

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

你遇到过这样的问题吗?

最佳答案

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

为了将来引用,它指出:

Reason and Prerequisites: The ABAP unit test framework calls the class CL_ABAP_COMPILER to determine the test classes from the current program. However, the call of the class CL_ABAP_COMPILER terminates with an internal error.

Solution: If the description applies to your situation, please install a new kernel that contains the patch "ABAP-SYCH: Dumped TYPES table has dangling type ids".

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

编辑 2019 年 6 月 5 日:

所以...补丁对解决这个问题没有帮助,但看起来我终于找到了解决方案。它分为三个步骤:

  1. 打开 SE03 并确保此处列出的命名空间具有开发许可并且处于生产角色 (P)
  2. 打开报告:SATC_AC_INIT_NAMESPACE_REG 并将命名空间注册到 ATC(ABAP 测试驾驶舱)——否则驾驶舱将忽略命名空间并且不会扫描它以查找测试类。
  3. 命名空间的注册将创建一个请求,以便传输它并响应具有单元测试的类。

执行此操作时,您应该能够运行测试 - 在 SAP GUI 和 Eclipse 中都没有问题:)。

关于unit-testing - ABAP 单元测试仅在生成后立即检测/执行。如何让测试类可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55817336/

相关文章:

java - 如何测试JavaFX Controller 的方法?

abap - ABAP中的内表声明

abap - 如何学习SAP ERP(不买)?

regex - 用正则表达式替换字符串末尾的%?

sql - 为什么这个 Groovy MetaClass 语句可以与 Sql 类一起使用?

java - 如何为 Junit 单元测试设置 JVM 参数?

c# - 在单元测试中使用最小起订量模拟经过身份验证的用户

python - python 单元测试的基本测试用例类

abap - 如何在 IF 条件下使用 ABAP bool 值?

abap - 从 QAS 向后更改传输到 DEV?