云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

腾讯云_附加数据库时出错_限量秒杀

小七 141 0

系列中的所有博客

终于完成了第3周的开放式SAP课程,我们看到了如何在现有遗留代码中添加ABAP单元测试。在保罗·哈代的博客中,我们已经收到了关于第三周的反馈,我想把它应用到一个接近实际的场景中,看看它看起来如何。我对结对编程的看法不多,希望我能通过单独的博客分享。

现有报告的背景

这是一份5年以上的报告,以程序的方式编写,包含所有的全局数据声明等。它做的是如下

检查一个用户名以XXX*开头且有效日期大于当前日期的用户如果有效用户检查用户创建日期和有效截止日期之间的天数,如果大于60,则将有效日期修改为创建日期+60天

当前旧版报告的可怕特性:)

无选择屏幕60天是硬编码的。用户名模式是硬编码的

示例代码更改有效性

需要增强。

这个概念现在需要扩展到另一组用户名以YYY*开头的用户,其有效期为45天。最简单也是最糟糕的解决方案是添加我的YYY*用户id,然后在45天内使用IF和ELSE之类的东西进行硬编码。但是我想到了为什么我们不通过单元测试类来实现它,淘客返利系统,它将使每一个生活变得更容易、可测试和灵活。因此,首先用ABC方法创建本地测试类,参数为天数和用户名之间的差值。

然后用test method USER\u days方法创建本地单元测试类LTC\u USERVALIDITY进行测试。此方法将传递用户名、创建和有效截止日期之间的天数以及创建日期,淘客易,以确定是否需要更新用户。如果需要更新,则返回Y标志和计算日期。

还创建了一个自定义表,用于映射用户名和天数。

然后定义了实际方法CHECK\u USERENDATE\u UPD\u需要从自定义表中检查用户是否需要更新。

最后添加了用户类型的选择屏幕参数

删除了硬编码部分,添加了我们的用户日期扩展限定器插件:)

它工作完美。

好处

显然,报告中所做的任何更改都与他/她能够验证至少这部分代码不受他/她的更改影响无关。一旦ABAP单元框架正常设置,人们就倾向于遵循它,所以希望这个程序最终会随着每次迭代而变得更好。我开始了解最新ABAP版本中引入的TestSeam概念,网站自助建站系统,更多细节请阅读Klaus Ziegler的博客

挑战或开放点

我仍在思考的一个重要问题是如何为我的代码增加灵活性,云端服务器,不仅在用户名和天数方面,tnrt新零售企业应用中心,而且如果以后需要添加新的标准示例用户类型?一些类似的抽象概念需要引入,一旦我实现了它,就会与大家分享。不愿意为另一个if和else写这么多代码

接下来呢?

关于试缝的一些事情ABAP测试双框架。

请随时提供您的反馈意见。