Русский
Открыть в Telegram

Пост Почему mock.patch не подменяет функцию в Python

16 сентября 2026
Z
Zen of Python
Фотография
Почему mock.patch не подменяет функцию в Python После from os import listdir имя listdir привязано в модуле product. Последующая подмена os.listdir эту привязку не меняет, поэтому код продолжает вызывать product.listdir. mock.patch работает как временное присваивание: заменяет имя по указанному пути, а после блока with возвращает исходное значение. Практическое правило: подменяйте имя там, где его ищет тестируемый код. Здесь нужен mock.patch("product.listdir"). Он изменит поведение только product.py, не затрагивая другие модули. В статье Why your mock doesn’t work механизм разобран на двух способах импорта и схемах связей между именами.
6 · 1.4K ·

Рядом в ленте

ZZen of PythonКак быстрее загружать грязные данные в PostgreSQL из Python Автор берёт постраничный API с данными о пиве, превращает его в генератор и перед записью нормализуеZZen of PythonНаследование, композиция или функции: сравниваем на Executor в Python Статья сравнивает три реализации гибридного исполнителя задач: наследование, композицию и
это сообщение
ZZen of PythonКак устроен асинхронный веб-краулер на Python Обстоятельная глава строит краулер с нуля: от корневого URL он скачивает страницы, извлекает новые ссылки и ставитZZen of PythonКак изолировать Pydantic Settings от окружения в pytest Если Settings создаётся при импорте пакета, он читает .env и переменные оболочки до запуска фикстуры pyt
ZZen of PythonZen of Python@zen_of_python · канал · Технологии
18 712подписчиков1 126средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем