在这些情况下,如何使用Jest创建无服务器测试的测试?

我是无服务器和NodeJS的新手。请指导我如何创建

自动化测试用例。
  1. lambda到lambda调用

  2. Lambda调用的API网关

  3. DynamoDB插入测试

请帮助。预先感谢。

rainlinlin 回答:在这些情况下,如何使用Jest创建无服务器测试的测试?

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

如果使用单元测试工具,则可以在本地甚至在函数内部运行它们,但是您将无法真正查询函数并完成整个过程。

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

编辑:

以下是对您的每一点的澄清:

1)Lambda到lambda调用

如果用lambda-to-lambda表示您想不使用API​​ GW调用另一个函数,那么我想您打算使用AWS开发工具包(SDK)触发一个函数。

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

2)调用lambda的API网关

如果您要测试API GW和lambda之间的连接是否有效,我会说,为什么要打扰?这是一次安装即可使用的交易。但是,如果您仍要测试,它将类似于项目1),不同之处在于,除了使用SDK之外,您还可以使用API​​网关URL

因此,您可以使用apmios之类的npm包或request来请求此类URL,并查看其内容是否为预期内容。

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

3)插入Dynamo

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

如果您处于测试库之间的围墙中,我建议您去买摩卡咖啡和柴。

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

本文链接:https://www.f2er.com/3108411.html

大家都在问