我有一个aws lambda函数,它将在dynamodb中为s3存储桶中创建的每个对象写入s3文件元数据信息,为此我在s3存储桶上有事件触发器。所以我打算使用python自动化测试。任何人都可以帮助我如何使用unittest包自动化这个lambda函数来测试以下内容。
这可以使用moto
和unittest
完成。 moto
将做的是为AWS添加有状态模拟 - 您的代码可以像往常一样继续调用boto
,但实际上不会对AWS进行调用。相反,moto
将在记忆中建立状态。
例如,你可以
如果您正在为DynamoDB和S3构建功能,那么您将利用mock_s3
中的mock_dynamodb2
和moto
方法。
我写了一个如何做到这一点的教程(它使用pytest
而不是unittest
,但这应该是一个小的差异)。看看:joshuaballoch.github.io/testing-lambda-functions/