【发布时间】:2022-01-25 02:48:34
【问题描述】:
我需要为下面的类函数编写单元测试,它返回 AWS 的 EC2 实例,以进行测试。
class C:
def f(cls, session, filters):
# ....
instances = session.resource('ec2').instances.filter(Filters=filters)
# ....
return instances
我想测试是否使用参数Filters=filters 调用session.resource('ec2').instances.filter()。
import boto3
import boto3.session
import pytest
from moto import mock_ec2
@mock_ec2
def test_get_nodes():
'''Test get node'''
session = boto3.session.Session(region_name='')
filters = None
C.f(session, filters)
assert session.resource('ec2').instances.filter.call_count == 1
但是,测试出现以下错误?
> raise ValueError("无效端点:%s" % endpoint_url) E ValueError:无效端点:https://ec2..amazonaws.com我实际上不希望测试函数连接到 AWS 控制台。无论如何,在我将region_name 设置为适当的值后,它得到了以下错误:
【问题讨论】:
标签: python amazon-web-services pytest boto3 moto