云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

服务器_深圳手机网站建设公司_学生机

小七 141 0

服务器_深圳手机网站建设公司_学生机

序言

这是在一个7.31系统上,所以不是所有的好东西,我可以稍后使用…

我有一个类(ZCL\u MY\u HANA\u class),我想写ABAP单元测试。虽然我的开发系统是7.31,但这个特殊的程序是用于HANA系统的,所以我不能直接在7.31中进行测试——我必须将它传输到我的HANA系统中进行测试。

但是能够在7.31中进行测试很好,所以我设计了一个框架,使用接口动态访问>7.31对象,在7.31本身中,我使用Z表实现了一个伪HANA。

为了使所有这些工作正常进行,我在CLASS-CONSTRUCTOR方法中创建了一个名为_IMPLEMENTOR(type string)的静态属性。(我所有的静态方法和属性都以下划线开头,所以它们很容易识别)。

在我的

GET\u INSTANCE方法中,我有

这里,ZIF\u HANA\u类是一个接口,企业软件公司,看起来就像7.40中标准SAP HANA相关类的公共部分。为了完整起见,ZIFèu HANAèu类有两个实现——一个是Z类,返利助手,大数据问题,它在7.40+系统中动态地传递对7.40类的调用。另一个是Z test类,它从7.31中的Z test表中进行写/读操作。

问题

我想用最少的重构将方法|获取|实例到一个测试工具中。|实现者是一个私有属性,所以我需要给我的测试类访问它的权限。

通过ADT/Eclipse,这是在类相关的本地类型选项卡中完成的。

在我的测试类中(ltc\U处理程序),我现在可以有了。

但是我应该给实现者分配什么?它应该有什么价值。我既不想使用Z测试类,也不想使用SAP类(如果它存在的话!)。显而易见的答案是一个本地测试双精度。

问题是,通常当我有一个测试双精度时,我使用对象实例来注入。但这里我只有班级的名字。那么CREATE OBJECT语句将识别的ltd\u hdb的名称是什么?

这是拼图的最后一部分。RTTS是救命稻草。

为了注入类名,我在测试类设置方法中所要做的就是

现在,当我测试代码时,我已经完全控制了实现者实例所做的事情,并且知道我不会有意外的副作用。

我通过结合Wiki、阅读ABAP文档和搜索已经问过问题了。所有的一切sap.com网站领域。

显然,这是一项非常罕见的技能……:-D.

附录

在编写单元测试时,我想测试一个对象的两个实例是否不是同一个对象。ASSERT\u EQUALS非常适合检查它们是否相同,大数据分析培训机构,但是没有ASSERT\u不相等。有ASSERT\u不同,但它只适用于基本对象类型。

ASSERT\u看起来很有前途,但我从未使用过,所以我去搜索。很快,我发现我需要一个IF\u约束的实现。这有两种方法:

IS\u VALID进行实际测试。GET DESCRIPTION返回测试失败时得到的消息。

这就是它的工作原理。首先,我约束的实现。我选择了LTA前缀作为"本地测试断言约束"。(LTC已经作为本地测试类了)

我就是这么用的。请再次注意,大数据云计算人工智能,这是一个7.31系统,所以它有点冗长…

当然,我检查了约束对不等实例和相等实例都有效。当绑定/解除绑定时。