Python 在类方法上应用moto失败
将moto模拟作为一个整体应用于测试类不会对诸如python unittestsPython 在类方法上应用moto失败,python,python-unittest,moto,Python,Python Unittest,Moto,将moto模拟作为一个整体应用于测试类不会对诸如python unittestssetupClass方法之类的类方法产生影响 @mock_ssm class SomeClassTest(unittest.TestCase): @classmethod def setUpClass(cls) -> None: boto3.client("ssm").put_parameter(Name="some-name",
setupClass
方法之类的类方法产生影响
@mock_ssm
class SomeClassTest(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
boto3.client("ssm").put_parameter(Name="some-name",
Value="some-value")
将导致
botocore.exceptions.NoCredentialsError: Unable to locate credentials
将moto实例作为一个整体应用于类(包括
classmethod
)的一种方法是显式实例化并终止moto服务
class SomeClassTest(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
cls.mock_ssm = mock_ssm()
cls.mock_ssm.start()
boto3.client("ssm").put_parameter(Name="some-name",
Value="some-value")
def tearDownClass(cls) -> None:
cls.mock_ssm.stop()