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

虚拟主机_进击巨人第三季百度云_年度促销

小七 141 0

虚拟主机_进击巨人第三季百度云_年度促销

嗨,大数据教程,社区!

我想分享一个单元测试工具,我和我的团队最近为我们的内部使用开发了这个工具。

这个工具是为了简化SAP ABAP单元测试的数据准备/加载而创建的。在我们的一个项目中,我们必须为单元测试准备大量的数据表。例如,BKPF、BSEG、BSET表(FI文档)中的一组内容。要验证的输出通常也是一个表或一个复杂的结构。

硬编码所有这些数据不是一个选择-太多的代码,难以维护和可怕的代码可读性。因此,我们决定编写一个工具,从TAB分隔的.txt文件中获取数据,然后用Excel以一种方便的方式准备这些文件。设定了特定的目标:

所有测试数据应合并在一个文件中(zip)…并上传到SAP–测试数据应该是开发包的一部分(W3MI二进制对象适合)加载例程应自动识别文件结构(字段),并验证其与目标容器(结构或表)的兼容性如果需要的话(非严格模式),它也应该能够安全地跳过.txt文件中丢失的字段,淘客推广渠道,例如处理字段过多的结构(如FI文档),其中大多数字段与特定测试无关。

测试类代码如下:

代码的第一部分采用制表符分隔的文本文件bseg.txt文件在TEST1目录中将zip文件通过SMSW0事务…………席……上传到二进制对象,并将它(带有适当的alpha出口等)放在具有BSEG线型的内部表中。当然,云指,好的代码设计会假设DB操作与业务逻辑代码是隔离的,云主机,但这并不总是可能的。因此,我们需要创建一种方法,将代码中的select替换为一个简单的调用,如果测试环境被识别,那么这个调用将取而代之的是准备好的测试数据。我们想出了一个叫做商店的解决方案。(顺便说一句,可以很好地与新发布的TEST-SEAM特性协同工作)。

测试类将准备/加载一些数据,然后"存储"它:

…然后"真实"代码可以提取它,而不是从数据库中选择:

在多个测试用例的情况下,也可以方便地加载一些表记录,然后根据一些键对其进行过滤字段,在工作代码中可用。此选项也可以:

测试类:

"实"代码:

作为最终结果,我们可以在我们的项目中执行完全动态的单元测试,覆盖大部分代码,包括DB select相关代码,而不需要实际访问数据库。当然,折扣返利,不仅仅是模型加载程序确保了这一点。这就需要准确地设计项目代码,将数据库选择和处理代码分开。但是模型加载器和"存储"功能使它更加方便。

这些工具是我的团队工作的结果,包括:

我Svitlana Shlapak公司Bohdan Petrushchak(又名Wirtschaftsmann)

代码可在我们的项目页面github–sbcgua/mockup\u loader·github上免费获得

我希望您能发现它有用