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

Пост Почему в Python стоит подменять свой интерфейс, а не httpx

22 сентября 2026
Z
Zen of Python
Фотография
нажмите — покажем
Почему в Python стоит подменять свой интерфейс, а не httpx Если бизнес-тест напрямую подменяет httpx.Client и httpx.Response, даже проверка пустого списка требует трёх вложенных моков. Тест повторяет чужой API, а его смысл тонет в настройке объектов. Автор предлагает поставить между бизнес-логикой и httpx тонкий DockerRegistryClient с методами get_repos() и get_repo_tags(). Бизнес-код работает с понятными операциями, тест подменяет один собственный объект, а смена HTTP-библиотеки не затрагивает эти проверки. Вложенность отступает перед явным интерфейсом: вполне по-питоновски. В статье «Don’t Mock What You Don’t Own» in 5 Minutes есть код до и после рефакторинга и границы эвристики. Обёртка не нужна, если сторонний API уже удобен; для редких сетевых ошибок прямой мок тоже может оказаться проще.
7 · 1.3K ·

Рядом в ленте

ZZen of PythonКак точечно сравнивать скорость функций Python с tprof Профилировщик помогает найти медленную функцию. Но после каждой правки снова измерять всю программу неудоZZen of PythonКак точно типизировать *args и **kwargs в Python Запись *args: tuple[int, str] выглядит как тип всего кортежа, но проверщик читает её иначе: каждый позиционный
это сообщение
ZZen of PythonКак применять структурное сопоставление с образцом к деревьям в Python Структурное сопоставление особенно выразительно на рекурсивных структурах. Автор моделируZZen of PythonPyodide разрешил публиковать WASM-колёса прямо в PyPI В Pyodide 314.0 появилась прямая публикация пакетов для WebAssembly в PyPI. Раньше команда сама собирала и

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

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