小编Bry*_*ams的帖子

SAP相等检查是错误的

我在这里遇到了一个问题,我无法弄清楚SAP究竟在做什么.测试非常简单,我有两个完全不同的变量,并且有两个完全不同的值.

输入是值为23579235的INT4.我正在测试字符串'23579235.43'的相等函数.显然我的期望是这两个变量是不同的,因为它们不仅不是同一类型的变量,而且它们没有相同的值.实际上,关于它们的任何事情都不相似.

EXPECTED1 23579235.43   C(11)   \TYPE=%_T00006S00000000O0000000302
INDEX1    23579235      I(4)    \TYPE=INT4
Run Code Online (Sandbox Code Playgroud)

但是,cl_abap_unit_assert=>assert_equals返回这两个值是相同的.我开始调试并注意到'EQ'语句用于检查值,并且在简单的ABAP中运行相同的语句也会返回'true'进行此比较.

analysis_Svc => is_Equal

这里发生了什么,为什么在注意到两种数据类型甚至不相同之后检查不会立即失败?这是我的错误,还是这些断言类只是不正确?

report ztest.
if ( '23579235.43' eq 23579235 ).
  write: / 'This shouldn''t be shown'.
endif.
Run Code Online (Sandbox Code Playgroud)

whydoesthiswork

sap abap unit-testing

3
推荐指数
1
解决办法
406
查看次数

标签 统计

abap ×1

sap ×1

unit-testing ×1