Я запустил фиктивный патч для 'a.foo' двумя разными способами.В TestUtils1 переменные класса определяются сразу.В TestUtils2 вызывается функция настройки.Почему тип mock_config_file отличается в зависимости от инициализации?Он отличается между PropertyMock и MagicMock после запуска.
class TestUtils1:
config_file_patcher = mock.patch('a.foo',new_callable=mock.PropertyMock) <mock.mock._patch object>
mock_config_file = config_file_patcher.start() <PropertyMock name='_config_file' id='413585304'>
class TestUtils2:
config_file_patcher = None
mock_config_file = None
@classmethod
def setup(cls):
cls.config_file_patcher = mock.patch('a.foo', new_callable=mock.PropertyMock) <mock.mock._patch object>
cls.mock_config_file = cls.config_file_patcher.start() <MagicMock name='_config_file()' id='471135344'>
Результатом TestUtils1 является ожидаемый результат.В TestUtils2 почему mock_config_file имеет тип MagicMock вместо PropertyMock?