小编Raq*_*ães的帖子

测试 Python AWS Lambda boto3 初始化

对于 lambda,最佳实践是在处理程序外部初始化依赖项。

我正在创建一个简单的 python 函数,其工作原理与蓝图类似:

import boto3


s3 = boto3.client('ssm')


def lambda_handler(event, context):
    # some code here
Run Code Online (Sandbox Code Playgroud)

还有测试

from lambda_function import handler # Option 1
import lambda_function              # Option 2

class TestHandler(unittest.TestCase):

    @patch('lambda_function.handler.boto3.client')
    def test(self, boto3_mock):
        # ...
Run Code Online (Sandbox Code Playgroud)

我似乎无法正确设置模拟,以便调用boto.client不会出错You must specify a region.

Option 1导入调用期间出错,在设置Option 2期间出错patch

我不能使用 a,~/.aws/config因为它将用在没有 a 的 CI 上。我也不想更改调用boto.client以包含默认区域。

我有什么遗漏的吗?

python mocking amazon-web-services python-unittest boto3

6
推荐指数
1
解决办法
3880
查看次数