Node.js 如何对NodeJs Lambda函数进行单元测试,该函数写入/读取dynamodb并通过awsapi网关端点调用?
我有一个lambda函数,该函数由API网关端点的get/post请求调用,然后根据从DynamoDB表读取/写入的请求进行调用。Node.js 如何对NodeJs Lambda函数进行单元测试,该函数写入/读取dynamodb并通过awsapi网关端点调用?,node.js,unit-testing,amazon-web-services,amazon-dynamodb,aws-lambda,Node.js,Unit Testing,Amazon Web Services,Amazon Dynamodb,Aws Lambda,我有一个lambda函数,该函数由API网关端点的get/post请求调用,然后根据从DynamoDB表读取/写入的请求进行调用。如何对该函数进行单元测试?我找到了一个名为lambda tester的库,但在处理Dynamo db时,该库的性能不佳。我还尝试了Amazon的单元和负载测试蓝图,但我不是一个大风扇,因为它将结果写入另一个dynamo db表,我宁愿在本地测试并在终端上查看输出 我们正在为此开发一套工具。看看这个博客: 我们的主要目的是帮助Alexa开发,但您可以与任何Lambda
如何对该函数进行单元测试?
我找到了一个名为
lambda tester
的库,但在处理Dynamo db时,该库的性能不佳。我还尝试了Amazon的
单元和负载测试蓝图,但我不是一个大风扇,因为它将结果写入另一个dynamo db表,我宁愿在本地测试并在终端上查看输出 我们正在为此开发一套工具。看看这个博客:
我们的主要目的是帮助Alexa开发,但您可以与任何Lambda“交谈”。你的lambda是Alexa技能吗(而dynamo是持久性的)?在设置AWS CLI之后,我实际上能够使用我的非本地开发数据库,这需要必要的AWS凭据。一旦您这样做并在代码中设置了区域,就可以毫无问题地访问非本地dev数据库并测试代码 听起来您知道如何在本地运行Lambda函数,您只需要一种方法来测试或模拟DynamoDB,而不会影响AWS上的实际DynamoDB服务。您是否考虑过在本地运行DynamoDB?另外,我不知道你说的lambda tester“与dynamodb配合不好”是什么意思。你在那里遇到错误了吗?或者它只是没有提供您所期望的功能?@MarkB当我运行测试时,它失败了,因为它似乎无法从数据库中读取数据。我确实考虑过在本地运行DyaNoDB,但是在代码中,当创建DyaNoDB表时,我必须指定端点(即LoalHoal:8000),然后在将代码上载到lambda时删除。似乎不对。不过,关于如何在本地运行/访问dynamodb,我可能遗漏了一些东西。不,这只是一种读取/写入dynamo的方法。单元测试lambda如何在您的工具上工作?该工具将传入的POST主体代理到lambda中。它本质上将lambda处理程序公开为http端点。您可以遵循本教程,直到“配置您的技能”部分。