gpt4 book ai didi

node.js - 如何使用 Jest 为这些场景创建用于无服务器测试的测试?

转载 作者:行者123 更新时间:2023-12-02 00:49:36 27 4
gpt4 key购买 nike

我是无服务器和 NodeJS 的新手。您能指导我如何为

创建 自动化测试用例吗
  1. lambda 到 lambda 调用

  2. Lambda 调用的 API 网关

  3. DynamoDB 插入测试

请帮忙。提前致谢。

最佳答案

如果您想要对 lambda 函数进行完整的端到端测试,则必须在函数本身之外进行处理。

如果您使用单元测试工具,您将能够在本地甚至在函数内部运行它们,但您将无法实际查询函数并完成整个过程。

我会使用任何单元测试库(如 mocha)创建第二个 lambda 函数,并编写功能测试来调用第一个 lambda 函数,通过 API 网关,使用一个简单的 http-request 包(如请求)。

编辑:

以下是对您的每一个观点的更多说明:

1) Lambda 到 lambda 调用

如果通过 lambda-to-lambda 你的意思是你想在不使用 API GW 的情况下调用另一个函数,那么我猜你打算使用 AWS SDK 来触发一个函数。

如果是这种情况,它就像任何其他测试一样。您将创建一个测试函数,让 SDK 触发第二个 lambda,然后检查 SDK 函数的结果。它可能会指示它是否成功,甚至会告诉您结果。

2) 调用 lambda 的 API 网关

如果您想测试 API GW 和 lambda 之间的连接是否有效,我会说,何必呢?这是一种设置一次并使用的交易。但是如果您仍然想测试它,它将类似于第 1 项),不同之处在于您将使用 API 网关 URL 而不是使用 SDK .

因此,您可以使用 npm 包(例如 axios 或 request)向此类 URL 发出请求,并查看内容是否符合预期。

我什至会说您可以在 lambda 函数中运行测试并调用完全相同的 lambda 函数,无需创建单独的 lambda。

3) 发电机插入

这是最简单的,只需创建一个单元测试,将某些内容写入 dynamo。然后,为了知道测试是否通过,只需阅读数据库并尝试找到您编写的内容即可。

如果您在测试库之间犹豫不决,我建议您使用 mocha 和 chai。

如果我可以帮助您回答更具体的问题,请告诉我。

关于node.js - 如何使用 Jest 为这些场景创建用于无服务器测试的测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58841458/

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