Начальное требование:
- вызов исходного метода
- выполнение дополнительного тестового кода в исходном методе
- подтверждение того, что оригинальный метод вызывается и выполняется
Код:
def get_config_mocked(cls, color, size):
self.assertEqual(Car, cls)
with mock.patch('Car.get_config',classmethod(get_config_mocked)) as mocked_method:
Car.dosometing()
mocked_method.assert_called_once() # method does not exist
Проблемы:
- оригинальный код никогда не выполняется
- assert_called_once не существует, причина mocked_method - тип classmethod