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

分布式数据库_哪个云服务器便宜又好_便宜的

小七 141 0

我将给出一个如何从ABAP单元测试开始的示例。我从一个简单的迁移ABAP迁移报告开始。报表读取并更改数据库中的数据。所以单元测试必须处理外部依赖。没有外部依赖的代码在现实生活中很少见。因此,我将展示如何在外部依赖关系出现问题时编写单元测试。在我写的所有代码中,至少有95%是这样的。

我有时会偏离常规。我这样做是因为我展示了我在日常工作中如何编写代码。

我展示的所有代码都在Github上:https://github.com/RainerWinkler/ABAP-Unit-Test-Demo。使用AbapGit在您自己的SAP系统上安装它。

假设SFLIGHT中的价格由于错误而错误。以下报告更正了这些问题:

必须修改上述报告。

报告始终迁移完整的SFLIGHT表。为了测试它,测试数据应写入数据库表。因此,编码必须只能在测试数据的数据范围内运行。单元测试只能在函数和类中进行。因此,逻辑被提取到一个类

和类

我进入"测试类"选项卡

点击按钮

在第一行写入测试并按Ctrl空格键

基本语句被自动创建。我再添加两行,以便能够测试私有方法。这有时可能会有帮助。

用鼠标右键点击就可以运行它。它将由于失败方法而失败,该方法称为:

我假设开发系统中要填写的SFLIGHT表。不得迁移这些数据。但一定的范围可以用于测试。

测试将:

将测试数据添加到数据库中运行迁移检查测试数据是否正确迁移

不要忘记:新的测试应该首先失败。这样做是为了测试测试。所以,在我完成下面的测试之前,我检查了一下,它失败了,预期价格的值是错误的:

这真的很重要!你工作的成功取决于发现错误的测试。相信我,物联网操作系统,当你省略这一步时,你就知道不管你在编码中写什么,测试总是返回绿色结果的频率有多高了。

当只有很少的测试存在时,测试方法是可以的。随着越来越多的测试,很难看到测试在做什么。

所以我让测试更具可读性。我使用全局变量。这不是一个问题,它的优点是编码更短,更容易阅读。

我还添加了第二个测试。

第三个测试来检查日期是否被认为是仍然需要的…当我看到需要测试一个新的方面时,我添加了更多的测试。我不尝试全部测试。

测试使用数据库,什么叫大数据云计算,因此每次测试的执行时间为10到20毫秒。这对我来说是可以接受的。没有使用模拟逻辑,这节省了时间,使测试更完整。

报告还有一个文档:

运输订单有文档:

只有很少的内联评论。一般来说,我试着做内联注释只是为了解释一些单独阅读代码时不清楚的主题。我经常被批评我评论不够,大数据趋势,你可以因此多加评论。但是不要忘记在代码更改时总是更改内联注释!

局部变量的命名主要遵循2009年ABAP编程指南的建议。表格用复数s和结尾标记(因此实际数据表格用acutals)。不同的是,淘客基地,我还省略了参数和属性的前缀。当这些参数有用时,我会添加它们。但这里不需要它们。好处是代码更容易阅读。这与我目前的工作是一样的

在某些情况下,我不想再读和写数据库了。通常,我从使用数据库的测试开始,并在工作期间对此进行更改。通常,第一次测试取决于以后可能会改变的数据。我做这两件事取决于什么最适合我:

选项1通常不建议。但在开发系统中,测试数据可能相当稳定。实现选项2的努力可能比修复每隔几年就会中断的测试所需的额外努力更高。

Tested是一个简单的迁移报告。所以我认为没有必要进行非常复杂的测试。因此,我将替换对数据库进行读写的语句。

数据库表将使用类test\u container的静态属性sflight\u mock进行模拟。这是一个测试类,在"Local Types"文件夹中定义。

需要for testing,以便能够从测试中引用此类。

类的编码略有调整(在select和add test seam声明之前声明sfs):

测试现在正在从静态表属性test\u container=>sflight\u mock写入和读取。select和modify语句在测试注入中被一个等价的编码所取代。

由于select和modify语句没有被测试,这个测试的范围比以前小了。

请跟随我的博客,为测试提供个人指导https://blogs.sap.com/2018/06/08/abap test seam for unit test with external dependencies personal guideline/。测试接缝是一种强大的方法,可以在正确完成测试后轻松地打破依赖关系。主要的好处是不需要对测试代码进行大的更改。

也可以实现一个单独的类来读写SFLIGHT表。并在单元测试中用mock替换对此类的访问。这需要更多的努力和编程技巧。对于像这个例子中这样的简单报告,我认为这样做没有任何好处。

我提取了用SAP2Moose编写的测试代码,大数据分析是什么,并用Moose2Model可视化。我这样做是为了帮助我记住和探索我编程的东西。