gpt4 book ai didi

python - 调用自定义函数时使用 Boto3 Stubber 作为上下文管理器

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:50 24 4
gpt4 key购买 nike

我正在编写一些单元测试,我们想使用 boto.stub 来模拟 aws 响应。

在这种情况下,正在测试的功能只是使用 boto3 根据某些输入提取 IP 地址。

我在这里关注了 Stubber 的 boto 文档:https://botocore.amazonaws.com/v1/documentation/api/latest/reference/stubber.html

    def test_ip_address_list(self):
ec2 = botocore.session.get_session().create_client('ec2')
response = api_stub_result() #just returns the mocked up response. IP address is set to 10.10.0.10 as a test

with Stubber(ec2) as stubber:
#stubber.activate() #I've tried with and without calling activate()
stubber.add_response('describe_instances', response, {})
results = ip_addresses("prod") #returns a list of ip addresses using describe_instances

print(results)
assert ("10.10.0.10") in results

当我运行此命令时,我希望 api_stub_result 中描述的实例是返回的唯一 IP 地址,或者至少位于 IP 列表中。

相反,该函数会联系 AWS 并实际提取我们实例的数据。

最佳答案

在调用您正在测试的方法之前,您必须激活 stub 。因此,在stubber.add_response之后添加一行用于激活 stub :

stubber.activate()

它应该按预期工作

关于python - 调用自定义函数时使用 Boto3 Stubber 作为上下文管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56532917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com