судя по всему, заключается в том, что сначала присходит импорт оригинальной функции, а потом только mock.patch, из-за чего функция по факту не переписывается.
Перемещение импортов внутрь вызывающих функций решает проблему, но у меня этих кейсов собралось уже порядком и они начинаюот откровенно раздражать и портить код
А как ты мокаешь?
Как раз в описанном случае все должно работать как надо — в импорт тайме только импорт, в пре-тесте мок, в рантайме мок
from unittest.mock import patch @patch("some.module", return_value=None) def test_me(self, my_mock): ...
А в каком кейсе ломается?
получается так, что пока я не перенесу импорт some.method в функцию которая его вызывает, мок игнорируется
Обсуждают сегодня