Использовать MagicMock в производственном коде, а не рефакторить всю кодовую базу?
Является ли приемлемой практикой использование MagicMock в коде развертывания в Production, а не каким-либо другим способом?
По сути, я создал центральную функцию, которая используется во многих местах, назовем ее foo()
.
Затем есть другие функции, назовем их bar()
и baz()
, которые вызывают функцию foo()
для установки значений некоторых свойств.
Теперь я хочу написать другую функцию, назовем ее temp()
, которая вызывает bar()
, но я хочу установить значение, возвращаемое foo()
, чтобы она возвращала определенное значение, если вызывается из temp()
, но возвращала правильное вычисленное значение, если вызывается из любого другого места, где вызывается функция bar()
или baz()
.
(Обратите внимание, что количество уровней, заданных здесь, поддерживается просто для примера, в действительности же существует множество функциональных уровней).
Я пытаюсь найти быстрое хакерское решение, чтобы не рефакторить много кодовой базы для получения правильного решения.