ABAP 单元测试仅在生成后立即检测/执行。如何让测试 class 可见?
ABAP Unit tests are only detected / executable right after generating. How to make the test class visible?
我正在尝试在 ABAP 中为我的 class 编写 单元测试 ,但是当我在 Eclipse 中手动编写代码时,IDE 告诉我没有测试 class 也没有可执行测试。如果我在 SAP GUI 中使用 向导,生成的测试有效并且我可以用我的测试替换它 - 然后它也有效 - 但是当我关闭 SAP GUI 并再次重新打开它时,它没有再次检测到任何测试class或可执行测试。
这对我来说似乎是一个错误,或者我正在使用的 SAP 版本有问题:
SAP NETWEAVER 7.4 15 (06/2016) sap.comSAP NETWEAVER 7.4
我是一名初学者 ABAP 程序员,但我已经通过测试成功覆盖了我的另一个 classes,我在那里没有任何问题。唯一的区别是另一个 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 日:
所以...补丁对解决这个问题没有帮助,但看起来我终于找到了解决方案。分为三个步骤:
- 打开 SE03 并确保此处列出的命名空间具有 开发许可 和 生产角色 (P)
- 打开报告:SATC_AC_INIT_NAMESPACE_REG并将命名空间注册到 ATC(ABAP 测试驾驶舱)——否则驾驶舱将忽略命名空间并且不会扫描它测试 classes.
- 命名空间的注册将创建一个请求,以便传输它并响应具有单元测试的 class。
执行此操作后,您应该能够 运行 测试 - 在 SAP GUI 和 Eclipse 中都没有问题:)。
我正在尝试在 ABAP 中为我的 class 编写 单元测试 ,但是当我在 Eclipse 中手动编写代码时,IDE 告诉我没有测试 class 也没有可执行测试。如果我在 SAP GUI 中使用 向导,生成的测试有效并且我可以用我的测试替换它 - 然后它也有效 - 但是当我关闭 SAP GUI 并再次重新打开它时,它没有再次检测到任何测试class或可执行测试。
这对我来说似乎是一个错误,或者我正在使用的 SAP 版本有问题:
SAP NETWEAVER 7.4 15 (06/2016) sap.comSAP NETWEAVER 7.4
我是一名初学者 ABAP 程序员,但我已经通过测试成功覆盖了我的另一个 classes,我在那里没有任何问题。唯一的区别是另一个 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 日:
所以...补丁对解决这个问题没有帮助,但看起来我终于找到了解决方案。分为三个步骤:
- 打开 SE03 并确保此处列出的命名空间具有 开发许可 和 生产角色 (P)
- 打开报告:SATC_AC_INIT_NAMESPACE_REG并将命名空间注册到 ATC(ABAP 测试驾驶舱)——否则驾驶舱将忽略命名空间并且不会扫描它测试 classes.
- 命名空间的注册将创建一个请求,以便传输它并响应具有单元测试的 class。
执行此操作后,您应该能够 运行 测试 - 在 SAP GUI 和 Eclipse 中都没有问题:)。