首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对消耗并生成消息到队列的lambda进行集成测试

如何对消耗并生成消息到队列的lambda进行集成测试
EN

Stack Overflow用户
提问于 2022-05-28 01:12:27
回答 1查看 440关注 0票数 0

假设我们有以下体系结构:

桶A在创建新文件时触发一个事件到队列。Lambda使用此事件,决定是否向 Queue B生成一条新消息。如果Lambda确实为队列B生成了一条消息,那么Lambda将使用该消息并将其转储到一个新的桶B。

对Lambda进行集成测试的正确或推荐的方法是什么?

当另一个Lambda可用时,lambda生成的消息将被另一个Lambda使用,这使得无法在消息离开之前检查Lambda是否生成了一条消息到队列B?如何在集成测试中处理这个问题?

EN

回答 1

Stack Overflow用户

发布于 2022-05-28 12:35:28

由Lambda生成的消息在可用时将被另一个lambda使用,这使得无法检查Lambda是否在消息离开之前生成了一条消息到队列B?

这个体系结构实际上是非常容易测试的,但是首先您需要回答“为什么要孤立地测试Lambda?”集成测试应该可以说是对整个流程进行端到端的测试,并验证特定的输入(上传到桶A的文件)是否会产生预期的输出(一个文件位于桶B中)。您应该进行单元测试,以充分执行Lambdas A和B中的逻辑。

但是,假设您确实想测试Lambda A的输出,您只需要为它提供一个队列,该队列将转到您的测试框架,而不是Lambda B。如果您确实想进行端到端的测试,那么您的测试框架就可以接收消息,并将其放到一个队列中,该队列将转到Lambda B:

代码语言:javascript
复制
Queue_A -> Lambda_A -> Test_Queue -> Test Framework -> Queue_B -> Lambda_B

如果您编写Lambdas,使其从环境变量(而不是硬编码)获得队列URL,那么这就容易得多:引入测试框架就变成了更新配置而不是代码的简单问题。

我强烈建议您为集成测试创建一个专门的AWS帐户,以避免意外地破坏生产代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72412250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档