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

ПостКак проверять инварианты Python-кода с Hypothesis

28 сентября 2026
Z
Zen of Python
Фотография
нажмите — покажем
Как проверять инварианты Python-кода с Hypothesis Обычный тест фиксирует конкретный ввод и ожидаемый результат. Hypothesis предлагает описать свойство, которое должно выполняться для всех подходящих данных, а затем генерирует сотни вариантов. Явные инварианты лучше неявного каталога крайних случаев. С @given и стратегиями можно проверять идемпотентность, сериализацию с обратным преобразованием и ограничения коллекций. Если свойство нарушено, Hypothesis упрощает вход до минимального контрпримера: вместо строки на тысячи символов остаётся значение, на котором удобно отлаживать код. Практический разбор Hypothesis показывает стратегии генерации и интеграцию с pytest. Такие проверки дополняют обычные тесты, а найденную регрессию лучше закрепить отдельным тестом или @example.
12 · 1.4K ·

Рядом в ленте

ZZen of PythonКак разделить синхронный и асинхронный Python-клиенты При переписывании akismet автор отказался от одного класса с обычными и асинхронными методами. Клиент провZZen of PythonКак запускать собственный SQL через миграции Django У models.Index нашлось необычное применение: его подкласс можно добавить в Meta.indexes, чтобы Django включи
это сообщение
ZZen of PythonКак коллизии превращают построение set в Python в квадратичную задачу Привычное O(1) для set и dict предполагает, что коллизии редки. Если много ключей получаютZZen of Pythonpartial или lambda: как специализировать колбэк без сюрпризов functools.partial заранее связывает часть аргументов и возвращает вызываемый объект. Сохранённые и

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

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