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

网站空间_老友记全集百度云网盘_怎么申请

小七 141 0

你好,返利助手,社区!

当我强迫自己为我的开发类编写更多的单元测试时,我在设置测试场景方面有点困难,因为需要的值语句可能会变得很大,输入起来会很枯燥。

我知道在ADT中有一个工具包含在SQL控制台中,可以将选择的输出转换为包含值语句的文件,但是,我花了一些精力,因为没有任何表可以通过sql select构造(或者目标结构/表的类型与db table类型不对应……

所以我想调试器可能会提供一些帮助,通过实现一个小脚本从实际变量派生语句(在调试时)。我在玩cl\u tpda\u script*类,把一个实体"解构"成它的组件,递归地建立一个树状结构,作为相应的value语句的基础。我的想法是调用一个选择屏幕,以便输入变量名,该变量名在启动脚本后应进行转换。

这看起来是这样的:

调试器脚本启动

这应该是足够的输入,用于构建相应的值语句。我想在实际内容旁边看到语句的结构会很好。因此,数据和大数据的区别,我使用了一个拆分器控件,左侧是alv树,大数据培训班,右侧是文本树控件。

值语句输出+对象结构

读取航班连接后输出如下。

航班连接

代码片段

我的想法是使用抽象基类来建模树结构。(Sry用于命名,但它只是一个原型:)

ZTEST\u ENTITY定义了一些抽象方法,大数据是干什么的,以便有一个灵活的接口模型。

非标量实体必须从ZTEST\u complex\u ENTITY派生,因为这个类包含一个包含其子元素的成员。

包含有效负载的键值对在的子类中实现ztest_simple_entity.

如前所述,serzialization是在cl_tpda_script*-类的帮助下完成的。

结构级别:

类cl_tpda_script_structdescr提供了一个方法组件()来循环结构的任何字段。组件的类型可以通过字段TPDA\u SCR\u STRUCT\u COMP-SYMBQUICK-QUICKDATA的向下转换来派生:

类ztest\u STRUCT\u实体的构造函数将如下所示(某些行被省略)

表级别:

类cl\u TPDA\u script\u tabledescr提供了一个方法get\u line\u handle(),该方法返回脚本数据描述。这个引用也可以通过向下转换来找到正确的类型。

所以根对象通过添加它的所有子元素来递归地构建自己。

值语句

值语句是通过调用根实体上的get\u content()生成的。此方法将在对象中运行,并在其子元素上递归调用自身。

调试器脚本本身非常简单:

更多示例:

我认为查看是否包含引用元素可能很有用:

带引用的结构

因为ztest\u实体的任何派生类都必须实现get\u content()方法,双击alv\ U树可以深入到子节点。嵌套语句可以在文本控件中内联更改,并传播回根实体。

内联更改值

此工具的一个"副作用"是,可以通过CTRL-F在复杂结构/表中搜索值,而无需深入到其子节点调试器中的子元素(有时我想知道一些值来自何处)。

是否有其他策略或技巧来处理复杂的值语句?您在ADT中使用SQL控制台值工具吗?

如果有人感兴趣,我可以清理代码并将其发布在这里(或者上传到git,我在ABAP中还没有这样做:)。

请随时就这种方法给出一些反馈!

这是我的第一个博客,顺便说一下,也许你也有一些建议!

,大数据教程