Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何对NodeJs Lambda函数进行单元测试,该函数写入/读取dynamodb并通过awsapi网关端点调用?_Node.js_Unit Testing_Amazon Web Services_Amazon Dynamodb_Aws Lambda - Fatal编程技术网

Node.js 如何对NodeJs Lambda函数进行单元测试,该函数写入/读取dynamodb并通过awsapi网关端点调用?

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函数,该函数由API网关端点的get/post请求调用,然后根据从DynamoDB表读取/写入的请求进行调用。

如何对该函数进行单元测试?

我找到了一个名为
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端点。您可以遵循本教程,直到“配置您的技能”部分。