如何正确使用全局测试类?

2020-09-02 14:09发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在一个项目中,我们设计了一个类。...

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

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


在一个项目中,我们设计了一个类。 我们称之为Z_MYCLASS。 我们希望一个人来编写代码,一个人来编写本地单元测试类中的测试方法。 不幸的是,这一次无法起作用,因为第一个更改类的人将其锁定,因此第二个用户无法再更改它。

没问题,我想:这就是全局测试类的目的。 因此,我们创建了一个全局测试类,并将一个现有的单元测试复制到该类中。

但是当我运行单元测试时,我得到消息:

全局测试类[Z_MYCLASS_TEST]不是抽象的

好。 将这个测试类抽象化没有问题。 所以我做了。 但是之后,我收到以下消息:

已处理:0个程序,0个测试类,0个测试方法

我找到了以下文档:正确使用全局测试类

我的期望是使用F_CUT TYPE REF TO Z_MYCLASS创建具有某些单元测试方法的全局测试类。

如前所述,它不能很好地工作...:(

 class Z_MYCLASS_TEST定义
   上市
   抽象
   最后
   建立公众
   用于检测
   持续时间短
   风险水平无害。

   公共部分。
   受保护的部分。
   专用部分。
     数据f_cut类型参考z_myclass。
     方法设置。
     方法check_between_1_and_6进行测试。
 ENDCLASS。

 CLASS Z_MYCLASS_TEST实施。
   方法check_between_1_and_6。

     数据随机结果TYPE i。
     DATA is_between_1_and_6 TYPE abap_bool。
     做1000次。
       randomresult = f_cut-> generate_random()。
       is_between_1_and_6 = COND#(当1和6之间的随机结果
         然后abap_true
         否则abap_false)。
       cl_abap_unit_assert => assert_equals(
         出口
           行为= is_between_1_and_6
           exp = abap_true)。
     ENDDO。

   终结法。

   方法设置。
     f_cut = z_myclass => factory(seed = 1)。
   终结法。

 ENDCLASS。

但是我不知道如何设置测试类以对另一个类进行一些单元测试。

感谢您的帮助...

谢谢

Enno

10条回答
暮风yp
2020-09-02 14:42

您读过TDD文档吗? 测试驱动开发

这意味着:

首先编写测试,然后编写代码。

我认为在现实生活中可以做的是:

-与团队一起定义逻辑,程序/类的结构(高级设计)

-创建所需的接口并修复输入/输出

-创建类(空)

-创建Abap单元

- 类

我认为,如果您已创建程序的squeleton和Abap Unit部分,则可以在单独的部分中工作而不会出现问题。 问题仅在于单元测试的创建

,但是我认为在现实生活中同时创建单元测试和测试是一个坏主意

第二点, 单元测试对生产代码和生产代码的影响单元测试。 因此,这是一个循环..

一周热门 更多>