Python 在类方法上应用moto失败

Python 在类方法上应用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",

将moto模拟作为一个整体应用于测试类不会对诸如python unittests
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()