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

对象存储_直销网站建设_超低折扣

小七 141 0

对象存储_直销网站建设_超低折扣

我将描述我在ABAP单元测试和测试接缝方面的经验。这里描述的技术可以用于新代码,但是在处理遗留代码时它们特别有价值。

遗留代码由Michael Feathers定义为没有测试的代码。andreagoulet将遗留代码定义为没有通信工件的代码。这是对这个词的现代解释。因此在这个定义中,一个新的代码,甚至可以被编写代码的开发人员称为遗留代码。仅仅因为他们没有添加测试或通信工件,他们就需要正确地维护自己的代码。

这里描述的整个工作只有在Martin Fowler的设计耐力假设是真的并且"功能性跨越了设计回报线"的情况下才有意义。

我不认为,存在一种适合于改进各种编码的构建测试的单一方法。根据要开发的应用程序的不同,应该使用不同的方法来实现测试,京淘客,并且在有些情况下可能根本不需要测试。读者有责任决定是否使用这里描述的技术。

几年前我开始进行单元测试,但在打破依赖性方面遇到了问题。有一些技术可以使用模拟实例,但是这些技术需要一个特定的更复杂的设计,并且模拟类本身增加了应用程序的复杂性。在某些情况下,我决定在依赖性是一个问题的情况下,物联网工程,也进行单元测试。但在大多数情况下,我并没有编写单元测试。

所以在很长一段时间里,淘客插件,我只为那些复杂且独立于应用程序其他部分的方法编写单元测试。这些测试非常有价值,但是我写的大部分代码没有自动测试。在现有代码的情况下,有享云商城,情况更糟,因为向这样的代码添加单元测试几乎总是需要很大的更改。因此,我几乎从未在现有代码中添加过单元测试。

当我了解到ABAP7.50中提供的语句ABAPTestSeams时,这种情况发生了变化。请阅读Klaus Ziegler和Horst Keller关于这个新语句及其潜力的博客。

可以在类的函数和方法中的大多数语句中添加测试接缝。测试接缝也可以添加到静态方法中,在静态方法中,返利app下载,不能使用大多数旧的添加单元测试的技术。

以前在依赖关系中处理单元测试的技术非常复杂,需要复杂的面向对象设计。应用测试接缝乍一看很容易。在我看来,如果可以使用测试接缝,就再也没有好的借口来编写完全没有自动测试了。使用测试接缝编写的单元测试可能不如使用常规技术进行的单元测试好,但是它们比没有单元测试好。在其他情况下,测试接缝似乎是最好的选择,因为它们使用起来相当简单。

没有任何借口,我现在写的几乎总是单元测试。

在测试注入中,不可能访问测试方法中定义的变量值。克劳斯·齐格勒在他上面链接的博客中描述了如何使用本地类的公共静态属性进行测试。请参见下面的本地类示例:

类测试\u容器定义进行测试。公共部分。类数据:结果类型i。ENDCLASS.

属性结果可以在单元测试和测试注入中读取和设置。它不能在普通代码中使用。

例如,它可以用来检查在单元测试期间是否执行了代码。为此,使用空的testseam语句。在单元测试中,这样的属性可以在语句测试注入中设置。为了检查代码是否被执行,测试变量是否被设置。

MichaelFeathers在他上面的链接书中描述了处理遗留代码的各种技术。通过搜索"遗留代码"语句,可以找到许多在处理此类代码时有用的资源。当我使用遗留代码时,我的标准工作流程是:

测试是特征化测试,它们是为了防止逻辑中不必要的更改。它们不检查正确性。如何检查正确性是本博客中未讨论的另一个主题。

请参阅包SABP\u UNIT\u SAMPLE(在ABAP 7.50中)或在Github上为SAP Inside Track Hamburg 2017制作的测试用例。这也是一个很好的机会来测试abapGit并学习如何在ABAP的开源项目中进行协作。

没有单一的模式可以用来编码或更改现有的代码。但当我开发新代码或更改现有代码时,我目前几乎总是使用两种技术: