首页 文章

在python中自动测试aws lambda函数

提问于
浏览
3

我有一个aws lambda函数,它将在dynamodb中为s3存储桶中创建的每个对象写入s3文件元数据信息,为此我在s3存储桶上有事件触发器 . 所以我打算使用python自动化测试 . 任何人都可以帮助我如何使用unittest包自动化这个lambda函数来测试以下内容 .

  • 验证dynamodb表的存在性

  • 在事件触发器的s3中验证存储桶是否存在 .

  • 验证s3存储桶中的文件计数并记录Dynamodb表中的计数 .

1 回答

  • 0

    这可以使用 motounittest 来完成 . moto 将要做的是为AWS添加有状态模拟 - 您的代码可以像往常一样继续调用 boto ,但实际上不会对AWS进行调用 . 相反, moto 将在内存中 Build 状态 .

    例如,你可以

    • 激活DynamoDB的模拟

    • 创建一个DynamoDB表

    • 向表格添加项目

    • 从表中检索项目并查看它们是否存在

    如果您're building functionality for both DynamoDB and S3, you' d同时利用 moto 中的 mock_s3mock_dynamodb2 方法 .

    我写了一个关于如何做到这一点的教程(它使用 pytest 而不是 unittest ,但这应该是一个小的区别) . 看看:joshuaballoch.github.io/testing-lambda-functions/

相关问题