【问题标题】:Local tests with AWS Cloud Development Kit (CDK)使用 AWS 云开发工具包 (CDK) 进行本地测试
【发布时间】:2021-10-29 06:59:24
【问题描述】:

我最近开始使用带有 typescript 的 AWS CDK 开发一个无服务器应用程序。这是一个比通过控制台做所有事情更好的选择,因为我可以将代码托管在存储库中,并且组织和维护也从这个功能中受益匪浅。然而,aws 控制台帮助很大的一点是可以完成的快速测试,您编写了一个 lambda 并且可以在那里毫无问题地对其进行测试。但是,使用 CDK,您需要先进行部署,将更新放入云中,然后才能在那里进行测试。有什么方法可以在本地测试 CDK 吗?不只是 lambda,而是一个整体模拟 aws 功能的东西?

【问题讨论】:

    标签: amazon-web-services aws-cdk


    【解决方案1】:

    AWS CDK 的测试过程在 AWS 云开发工具包 (CDK) 中进行了描述 开发者指南。本主题包含大量详细信息。但是,没有提到如何在本地进行测试。有关详细信息,请参阅此主题。

    Testing constructs

    【讨论】:

    • 这是一个正确的答案,我会添加它以便在本地测试一些组件,例如Lambda,你可以看看 AWS Serverless Application Model (SAM)。如果对使用什么有疑问,我会坚持使用 AWS CDK,不过,如果您对无服务器感兴趣 - 请查看 AWS SAM。它们都在下面使用 CloudFormation,但功能有点不同。让我们以 Lambda 为例:(1)两者都可以构建一个函数,(2)AWS CDK 提供了一个方便的 python 接口,(3)AWS SAM 允许您在本地测试它。在我看来,两者可以同时使用以发挥各自的优势。
    【解决方案2】:

    您绝对可以在部署之前编写单元测试以在本地运行。但是,听起来您正在寻找一种方法来测试整个服务。那是更复杂和未解决的。一个好的起点可能是查看新的 SAM-CDK 工具 https://aws.amazon.com/blogs/compute/better-together-aws-sam-and-aws-cdk/

    【讨论】: