如何修补从另一个模块导入的功能

时间:2019-08-28 08:34:04

标签: python testing boto3 patch python-mock

无法修补该功能。

我正在尝试从测试功能中的另一个模块修补功能。但是我无法做到这一点。

response.py

import boto3
lambda = boto3.client('lambda')

def response(event,context):
      s = boto3.client('s')



test_response.py

class lambda_handler(unittest.Testcae):
      @patch('response.boto3')
      test_handler():
       #doing the necessary assertions.

但是上面提到的一个给了我以下错误

botocore.exceptions.NoRegionError: You must specify a region.

对于在响应函数外部声明的boto3.client,将显示错误。 请帮助我解决此问题。

1 个答案:

答案 0 :(得分:0)

首先在此处修复lambda_handler(unittest.Testcae)类中的拼写错误:on Testcase boto3.client也需要参数region。即:

import boto3
lambda = boto3.client('lambda', region_name='us-west-2')

def response(event,context):
      s = boto3.client('s')