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

游戏服务器_诛仙数据库_超低折扣

小七 141 0

附言:所有的代码都可以在博客末尾的附件中找到。

以前的博客

终于完成了ABAP单元测试课程的第2周,我必须承认我从来没有在开发代码之前写过单元测试。测试驱动开发(TDD)是我不知道的事情。当我看第一张幻灯片时,我认为这对我来说没有多大意义。但最终,当我完成第二周的学习后,我的整体理解能力得到了提高,并且能够将这些点联系起来,为了了解它是如何与我们的实际需求相结合的,所以我考虑在隐式增强中实现它。因此,这个博客讨论了我实施TDD的经验,我看到的好处,我面临的问题等,希望它能帮助一些人:)。

在我开始之前,我还要提到一个重要的观察结果,通过在这里分享我的经验,淘客商城,云服务器多少钱一年,我了解到了很多我不知道的话题,例如eCATT for Odata和ABAP Test double framework.

新要求

我们有一个事务MB5M,用于材料批次保质期。要求只允许某些类型的材料被显示,其余的应被保存隐藏。

显示材料类型ZPAC、ZEXP和ZFDP隐藏材料类型UNBW和ZAPI.

我们在数据选择后使用隐式增强来实现它,它将用于删除不显示的材料。虽然我们也有其他增强选项,物联网工程师,但我想尝试隐式增强

单元测试被编码为要求

我们创建了一个基本的全局类ZCL\u SKIP\u MATERIAL将在隐式增强中调用。

创建一个带有两个字段的自定义表来维护允许和不允许的物料类型。基于上述需求,企业号应用,我们创建了一个测试方法MATERIAL-ALLOWED-OR-NOT来检查是否允许显示物料类型。然后我们创建了一个本地单元测试类LTC\u SKIP\u MATERIAL并定义了测试方法setup和MATERIAL\u ALLOWED\u OR NOT.

我们得到了一个错误:ZCL\u SKIP\u MATERIAL->DET\u MATTYPE\u ALLOWED\u OR NOT called不存在。所以我们定义了它,请注意材料和材料的材料类型的数据选择包含在构造函数中。它也可以从这个类中分离出来,然后添加为可注入的,但是尽量保持简单。

所以基本的设置是在我们有工作方法的地方完成的,我们有工作方法根据材料类型来决定是否显示或隐藏材料。所以我们可以看到从单元测试中生成这个有成效的代码是多么容易。

一旦这个方法建立起来,我们就创建了另一个方法处理从增强。此方法遍历所有选定的数据,淘客采集,并调用方法DET\u MATTYPE\u ALLOWED\u OR NOT which we have created previous to filter out records.

我看到的好处

我看到的一个最重要的好处是我不必每次都运行报告来查看我的代码是否适用于此文档类型,测试类会这样做。测试类实际上已经在Dev box中删除了对测试数据可用性的依赖。有时,如果测试数据在Dev-box中不可用,我们通常会将其传输到Quality并在那里进行测试并修复bug。但是随着本地测试类的实现,基本的错误和测试可以在我的终端完成,而不必担心测试数据的可用性显然,测试过程中报告的错误更少,浪费的时间更少。

我面临的挑战。

人员必须清楚他/她的单元测试将包括哪些内容以及预期的最终结果。我自己也搞不清楚是在我们的方法中还是在构造函数中获取自定义表数据,最后选择了构造函数。另一个困惑是,我应该将事务中的重要数据传递给构造函数中的类,还是通过单独的处理方法。最后,保持它在过程中的方法看起来是合乎逻辑的,否则我必须首先通过构造函数,然后在过程数据中更新它。

学习和下一步是什么?

始终记住核心理念:先编写测试,然后编写生产代码。绝对ABAP测试双框架和eCATT的Odata取决于进一步阅读:)

请随时提供反馈意见,向所有人开放。

点击此处下载代码。