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

对象存储_腾讯云端口_9元

小七 141 0

以下步骤将解释如何使用saps/4hanacloudsdk在测试中模拟saps/4HANA特定的依赖关系。有关完整的概述,大数据主要学什么,请访问SAP Cloud SDK概述。

这篇博客文章更详细地介绍了SAP Cloud SDK的模拟功能。在这个博客之后,你将能够理解

什么是mocking,为什么它是一个有用的工具和编程能力。如何模拟对SAP S/4HANA系统的访问,使您能够在没有S/4HANA系统的情况下测试和开发S/4HANA扩展。

为了成功完成本教程,您必须完成本教程,至少直到:

SAP Cloud SDK的第4步:调用OData服务

因为我们还将提到模拟弹性S/4HANA此外,我们还将使用SAP Cloud SDK第10步中介绍的OData虚拟数据模型:OData的虚拟数据模型

此外,S/4HANA API的完整模拟仅在SAP Cloud SDK版本1.6.0。因此,请确保您的SDK材料清单得到相应的更新,如下所示:

动机

在我们之前的教程和深入研究中,如

SAP Cloud SDK的第4步:调用OData服务SAP Cloud SDK的第10步:OData的虚拟数据模型SAP Cloud SDK第13步:自动化测试SAP Cloud SDK第14步:持续集成和交付Deep Dive 3 with Cloud SDK:云平台抽象

我们主要使用所谓的集成测试来测试我们的应用程序与SAP S/4HANA系统的功能。虽然这提供了一种非常方便的方法来测试从SCP后端到S/4HANA后端的整体功能,但是如果它们太多,则会导致测试套件变得脆弱和难以维护。

首先,您实际上需要一个SAP S/4HANA系统,该系统经过配置并启动和运行,以提供所需的api。这意味着您必须在开发过程中提供并维护相应的S/4HANA系统来运行测试。这可能是昂贵的,并且可能容易出错,从而导致软件工程团队的反馈周期更长。此外,有时您可能需要对S/4HANA后端系统进行更新,这些更新尚未传输到您用于运行集成测试的系统实例中。这会进一步减慢反馈周期,并可能阻碍SCP扩展的有效进展,从而导致软件开发团队的挫败。

其次,为了满足全面的测试、代码覆盖率和其他质量要求,提供所有集成测试都是非常诱人的。然而,集成测试是缓慢的,特别是当您有许多集成测试时。它们需要引导一个完整的或嵌入的容器(例如,sapcloudsdk提供的TomEE),以及一个完整的、功能性的连接到S/4HANA,通过网络进行真正的RESTful调用。因此,应用程序增长越多,测试套件最终变得越慢。这对您的开发团队的性能有负面影响,免费网站自助建站,令人沮丧,并且可能需要在垂直或水平扩展方面进行额外的重大投资。

因此,正如下面的测试金字塔所建议的,您的代码库中的单元测试应该比集成测试多得多。单元测试是独立的,在一个测试中只测试代码库的一小部分(例如类)。因此,可以更快地发现问题,单元测试比集成测试运行得更快(通常是一到两个数量级)。此外,单元测试迫使应用程序开发人员编写更多可测试的应用程序代码,并更彻底地应用关注点分离,这通常会导致更好的可维护性和可理解的代码。

然而,这就产生了一个问题:如何测试代码库的一小部分,如果它直接或间接依赖于与SAP S/4HANA的某个集成点、真实的数据库或不属于测试范围的另一个Java对象

答案很简单:使用Mocking.

什么是Mocking

Mocking通常是指在测试过程中提供测试双倍而不是真实实现的想法。就像在电影中一样,当某个特定的危险场景如特技表演被录制下来时,演员的替身就开始发挥作用,而这是奥斯卡提名的影星无法完成的。对于测试,我们不太关心double的健康状况,而是关心它的运行时成本和状态,这在测试过程中可能很难提供或模仿程序的状态。在这种情况下,我们可以提供代表实际实现的测试加倍。双重测试有不同的形式,如模拟、存根、间谍、假对象或虚拟对象。我们把细微的差别留给了大量的相关工作,比如Martin Fowler的–mock不是存根或冗长的Stackoverflow辩论。

在下面的文本中,淘大客,我们将主要在mock行为和状态时分别引用mock或stub对象。

在下面的教程中,我们将介绍三个基本的mocking原则,它们将为您提供所需的所有工具和需求。我们将讨论以下几个重要方面:

一般性地嘲弄快乐之路:成功返回所有没有S/4HANA系统的业务伙伴。模拟特定的S/4hanaapi调用:成功返回符合特定条件的特定业务伙伴。模拟失败路径:返回业务伙伴API在没有S/4HANA系统的情况下抛出的错误。

模拟快乐路径

让我们从一个非常简单的GetBusinessPartnerCommand示例开始,便宜的云服务器,该示例检索所有业务伙伴的姓和名,即客户。如果您至少在SAP Cloud SDK第5步之前完成了所有教程:Resilience with Hystrix plus Step 10 with SAP Cloud SDK:Virtual Data Model for OData,那么您应该非常熟悉这些代码。

该文件需要放在/application/src/main/java目录下。