有没有办法对 AWS lambda 进行合同测试。 Pact 用于普通 API,但我正在尝试在 AWS SAM 上实施合同测试。有没有任何工具可以实现此目的,或者 Pact 可以进行任何修改来使用?
是的,您可以使用 Pact 与 Lambda 进行合约测试。
例如,Pact JS 支持异步编程,并有使用无服务器框架的 Lambda 示例 [1]。
还有一篇关于此事的很好的介绍文章 [2]。
更新:2023 年 9 月
这些额外的“食谱”可能会有所帮助:
如果您想测试它,可以使用 amazon-cli。
amazon-cli 将帮助您通过 aws lambda 调用命令手动触发 lamda。
请通过此链接在您的本地安装 amazon-cli。
之后,您可以使用 aws lamda 命令从 cli 调用 amazon 1st lamda。它有很多选项,比如你可以传递有效负载(在实际场景中应该是从 SNS 传递)。
从 Amazon-CLI 命令执行 AWS Lamda 详细说明
命令示例:
aws lambda invoke --function-name your_function_name --invocation-type RequestResponse outfile.txt --payload file:requestFile.txt
希望有帮助。