gpt4 book ai didi

amazon-sns - 如何在 Intellij 等 IDE 中本地测试 sns(用于单元测试)

转载 作者:行者123 更新时间:2023-12-04 02:15:03 26 4
gpt4 key购买 nike

有没有办法我们可以在本地实例化 SNS 以便能够运行单元测试?我知道 dynamoDB 可以使用 DynamoDBLocal 在本地实例化,SNS 是否支持相同的?如果是这样,任何人都可以提供能够这样做的文档吗?提前致谢。

最佳答案

不,目前 AWS 不提供在本地运行 SNS 的方法。然而,作为开发人员,我们可以通过多种方式测试我们的应用程序,以确保我们在与外部服务集成时表现良好。

以下是您应该考虑的三个选项:

  • 集成帐号
  • mock
  • FakeSNS

  • Amazon 不提供用于测试应用程序的沙箱区域。但是,没有什么能阻止我们针对集成层注册事件。

    例如,在 AWS 注册一个名为“NewAccountEvent-Dev”的主题,并提供该主题用于集成测试。这将确保应用程序正确构建对 AWS 的请求。通常,我希望大多数成熟的团队都有几个完全集成的测试环境。尝试并确保生产前的区域与生产完全相同。

    作为开发人员,我们应该努力确保尽早发现问题。即使在测试环境中部署了应用程序之后,再发现集成问题在开发过程中也是非常正确的。为了改进我们的集成环境,我们可以使用一个名为 mocks 的概念。模拟将使我们能够在构建时发现问题。

    模拟允许您测试您的应用程序是否会正确响应您期望从 SNS 获得的消息。您将手动设置响应并开始针对虚假 SNS 服务编写测试。有很多模拟工具可以帮助您快速编写模拟。您选择的语言和框架最终将驱动您选择的框架。就个人而言,我最熟悉 Mockito,因为我经常在 spring-boot 中使用它。

    最后,您可以运行您的应用程序并包含一个模拟 SNS 的服务。这类似于 DynamoDBLocal FakeSNS .如果您正在编写一个与 SNS 高度集成的应用程序。即删除、创建、处理权限等。这个项目将是一个不错的选择。这些服务器更丰富,因为它们通常在服务本身内实现逻辑,而不仅仅是模拟接口(interface)。

    不幸的是,Fake SNS 目前似乎没有太多的 GitHub 事件。所以我鼓励你继续做更多的研究。

    关于amazon-sns - 如何在 Intellij 等 IDE 中本地测试 sns(用于单元测试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29197654/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com