首页 > 解决方案 > 如何测试 AWS Lambda 上存在的代码?

问题描述

我有一个 AWS Lambda 函数,它将从 Kinesis 中提取消息并将它们发送到 SQS。消息必须是某种格式。我怎样才能测试这样的东西?Lambda 将包含一些转换逻辑,但我不确定如何测试这样的东西。我还需要测试 Lambda 是否指向正确的原点和目标。有没有办法做这样的事情?

标签: aws-lambda

解决方案


单元测试

Lambda 只是一个函数,因此您可以直接从测试框架中调用它。

您可以在 lambda 中添加一个日志,以获取传递给它的 Kinesis 事件的一些示例数据。

将执行转换的部分与处理程序样板和发送到 SQS 的代码分开。

然后,您可以轻松地仅测试转换。

集成/系统测试

如果您使用任何流行的框架来部署您的堆栈(无服务器框架、SAM 等),那么您的基础设施可能被描述为代码,并且设置和拆除它并不难。

然后,您可以使用 AWS 开发工具包发布到 Kinesis 或从 SQS 读取以确保一切正常。

我编写了一个包含 AWS 开发工具包并帮助您针对 AWS 服务编写测试断言的库。


推荐阅读