远程REST服务API的测试

问题描述 投票:1回答:1

我打算编写一个Spring Boot应用程序,该应用程序在内部可处理某些联系人/客户数据,并且我希望集成HubSpot。例如,我有一个联系人ID,我想用它来请求HubSpot API(更新,删除,获取个人资料等)。

为HubSpot编写集成测试的最佳方法是什么?我应该做吗?我的意思是,当我要求HubSpot获取其配置文件或我想更新此联系人时,我希望使用一些JSON。我应该如何测试?我应该只测试我是否完全获得了一些JSON,还是应该测试JSON的结构,以便获得该联系人的更多信息以继续一些工作流程?...或者我应该只为实际上需要HubSpot API的服务编写单元测试?

rest spring-boot service integration-testing
1个回答
0
投票

这是一个有趣的问题。关于应该测试什么的许多问题都可以很好地快速得到答案,这基本上取决于您准备承担的风险。这是我写的关于背景的blog post

关于测试HubSpot集成的技术性。 HubSpot的documentation告诉您如何创建可用于测试集成的测试用户。

现在,您应该编写哪些测试?

首先,Should I do it at all?,我认为答案是肯定的。只需有两个活动部分,即代码和HubSpot即服务。任何一种都可能改变并破坏您的集成。如果没有合适的测试,它将很难在发生时进行调试。

现在介绍如何测试。三种类型的测试对您有帮助:

  1. 单元测试。这将测试您编写的代码。在这种情况下,我将模拟来自HubSpot的响应,以便您正在测试代码,但实际上并未调用HubSpot。

  2. 集成测试。考虑到标签,我假设您的问题的基础。为此,我将使用一个测试帐户并检查您期望的每种行为。

    • 创建用户
    • 更新用户等。>
  3. 使用测试帐户,您可以以受控方式进行此操作。唯一可动的部分是您对HubSpot API的调用及其响应。在您修改代码时,或者在HubSpot发布新版本时,这将很容易突出问题。此级别将使您有信心集成正确。此时,我将验证HubSpot的响应,结构和价值。另外,我将检查是否已执行正确的操作(在创建或更新用户的情况下)。

  1. 端到端测试。使用HubSpot上的测试用户来完成整个Spring引导应用程序的流程。当然,这将使您确信整个应用程序的行为。但是,如果此处由于与HubSpot集成而导致失败,则希望发生相应的集成测试失败以帮助调试。
© www.soinside.com 2019 - 2024. All rights reserved.