Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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
Javascript AWS SAM-调用了测试lambda,创建了测试运动事件_Javascript_Testing_Aws Lambda_Amazon Kinesis_Aws Sam - Fatal编程技术网

Javascript AWS SAM-调用了测试lambda,创建了测试运动事件

Javascript AWS SAM-调用了测试lambda,创建了测试运动事件,javascript,testing,aws-lambda,amazon-kinesis,aws-sam,Javascript,Testing,Aws Lambda,Amazon Kinesis,Aws Sam,我正在调查AWS SAM是否可以在我正在处理的应用程序的上下文中使用 基本上,应用程序的结构是: [kinesis event] -> [my lambda] -> [invokes another lambda] 或 或 因此,我希望能够编写一些测试,如: Given that I invoke myLambda with data ABC, then I expect otherLambda to have been invoked with DEF. 或 虽然我可以,但

我正在调查AWS SAM是否可以在我正在处理的应用程序的上下文中使用

基本上,应用程序的结构是:

[kinesis event] -> [my lambda] -> [invokes another lambda]

因此,我希望能够编写一些测试,如:

Given that I invoke myLambda with data ABC,
 then I expect otherLambda to have been invoked with DEF. 

虽然我可以,但我看不到任何关于对调用的其他lambda进行断言的功能


这超出了AWS SAM的工作范围吗?

不确定这是否有帮助,但这是我在这个问题上的两便士。如果我完全误解了你的问题,请随时告诉我

AWS SAM仅用于帮助您将应用程序导入AWS,确保在某些环境下本地测试更容易/更难,但想法是一样的

考虑一下,当您使用2+个lambda相互调用时,它们最终应该是函数,因此您会认为它们需要是可独立测试的。在我看来,你有几个选择可以考虑:

  • 在Lambda之间放置一个队列,这样当有一个Kinesis事件触发Lambda进行一些处理时,它就可以放置一条消息并用处理后的数据触发Lambda B
  • 您可以探索的使用,看看它是否适合您的具体情况
  • 或者最后,你在这个问题上的中间案例实际上是有效的,如果你看一下,你可以使用动觉,然后如果你愿意的话,在那里触发另一个动觉事件。(根据您的用例,这可能是比队列更好的解决方案)
TL;DR:Sam会做其他人已经做过的任何事情,这是组织你的职能并确保它们不相互依赖的问题。

[another lambda] => [invokes my lambda] => [invokes yet another lambda]
Given that I invoke myLambda with data ABC,
 then I expect otherLambda to have been invoked with DEF. 
Given that I put event ABC on the kinesis stream,
 then I expect that myLamdba was executed,
 and I expect that it put event DEF on the kinesis stream