Доступ к исправленному объекту в @classmethod
Я хотел бы установить побочный эффект для исправленного объекта в TestCase.setUpClass()
метод, чтобы побочный эффект сохранялся в течение всего периода испытаний без необходимости устанавливать его для каждого теста с помощью setUp()
,
Как я могу получить доступ к патчу в @classmethod
?
@patch('my_module.auxiliary_module', autospec=True)
class TestMyModule(TestCase):
@classmethod
def setUpClass(cls):
# how can I access the patch here to set a side-effect?
def test_a(self, mock_auxiliary_module):
# here the patch is accessible
Пример того, что я хотел бы сделать в setUpClass()
:
mock_auxiliary_module.some_func.side_effect = lambda x: {'a': 2, 'b': 5}[x]
1 ответ
Сделайте его атрибутом класса, чтобы вы могли получить к нему доступ cls.my_obj
в setUpClass
, или же self.my_obj
в других методах испытаний?
Я не знаком с исправлениями, так что это может быть далеко от цели.