Использовать MagicMock в производственном коде, а не рефакторить всю кодовую базу?

Является ли приемлемой практикой использование MagicMock в коде развертывания в Production, а не каким-либо другим способом?

По сути, я создал центральную функцию, которая используется во многих местах, назовем ее foo().

Затем есть другие функции, назовем их bar() и baz(), которые вызывают функцию foo() для установки значений некоторых свойств.

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

Я пытаюсь найти быстрое хакерское решение, чтобы не рефакторить много кодовой базы для получения правильного решения.

Вернуться на верх