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

2020-09-02 14:09发布

         点击此处--->   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

         点击此处--->   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条回答
haha101010
1楼-- · 2020-09-02 14:27

谢谢您的评论,桑德拉!

这不是本地测试类。 就是这样。

我试图将全局测试类中的测试方法放入本地测试类中。 好吧,这有效; 现在执行单元测试。 但这是拥有全局测试类的正确方法吗?

干杯

Enno

d56caomao
2楼-- · 2020-09-02 14:20

谢谢你的评论,桑德拉!

这不是本地测试类。 就是这样。

我试图将全局测试类中的测试方法放入本地测试类中。 好吧,这有效; 现在执行单元测试。 但这是拥有全局测试课程的正确过程吗?

干杯

Enno

浮生未央
3楼-- · 2020-09-02 14:30
My梦
4楼-- · 2020-09-02 14:31

弗雷德里克·吉罗德(Frederic Girod)我们确实使用了接口,但我不想使问题变得更加复杂。 是的,我认为,"虚拟类"将是解决方案。

一周热门 更多>