模拟Lambda Invoke的特定调用,尤其是在链接调用时



所以我想知道-一直在为Node/Jastsmine使用aws-sdk mock库。

这个特定的库允许您模拟服务方法调用。然而,当试图模拟一个多次调用但提供了不同参数(从而调用不同的lambda(的方法时,这似乎是一个问题。

Aws.mock('lambda', 'invoke', function(params, callback){
callback(null, {})
}

这将模拟每个调用,这确实不灵活,我认为有用的是查看传递给它的params是否包含特定值。

现在我不会被AWS.mock框架束缚,我不相信,所以如果有人有任何关于如何处理这件事的建议,那就太好了。请参阅下面的调用流程。

自定义函数(从测试调用(->自定义函数(调用调用(

我发现解决这个问题的方法是检查被模拟的lambda的参数。例如,如果您有一个名为lambdaOne的lambda和一个名称为lambdaTwo的lambda,那么您的mock将如下所示:

Aws.mock('lambda', 'invoke', function(params, callback){
if (params.FunctioName === 'lambdaOne'){
callback(null, lambdaOneResponse)
}
else if (params.FunctioName === 'lambdaTwo')
callback(null, lambdaTwoResponse) 
}

我希望这能有所帮助!

相关内容

最新更新