Инструменты разработки¶
Модули, описанные в этой главе, помогают вам писать программы. Например, модуль pydoc берет модуль и генерирует документацию на основе содержимого модуля. Модули doctest и unittest содержат фреймворки для написания модульных тестов, которые автоматически выполняют код и проверяют получение ожидаемого результата. 2to3 может преобразовывать исходный код Python 2.x в корректный код Python 3.x.
Список модулей, описанных в этой главе, следующий:
typing— Поддержка подсказок типов- Соответствующие ПЭП
- Псевдонимы типов
- NewType
- С правом выкупа
- Дженерики
- Определяемые пользователем общие типы
- Тип
Any - Номинальная и структурная подтипизация
- Содержание модуля
pydoc— Генератор документации и система интерактивной помощи- Режим разработки Python
- Эффекты режима разработки Python
- Пример ResourceWarning
- Пример ошибки плохого дескриптора файла
doctest— Тестирование интерактивных примеров Pythonunittest— Фреймворк для модульного тестированияunittest.mock— библиотека насмешливых объектовunittest.mock— начало работы- Использование макета
- Моделирование методов исправления
- Mock для вызовов методов на объекте
- Мокинг классов
- Называйте свои насмешки
- Отслеживание всех звонков
- Установка возвращаемых значений и атрибутов
- Возбуждение исключений с помощью макетов
- Функции с побочным эффектом и итерабельные функции
- Издевательство над асинхронными итераторами
- Начиная с Python 3.8, и имеют поддержку подражания через . Атрибут в можно использовать для установки возвращаемых значений, которые будут использоваться для итерации.
- Создание макета из существующего объекта
- Декораторы пластырей
- Дополнительные примеры
- Издевательство над прикованными вызовами
- Частичное издевательство
- Издевательство над методом генератора
- Применение одного и того же патча к каждому методу испытаний
- Издевательство над несвязанными методами
- Проверка нескольких вызовов с помощью макета
- Работа с изменчивыми аргументами
- Матрешки
- Подражание словарю с помощью MagicMock
- Подклассы Mock и их атрибуты
- Сопряжение импорта с помощью patch.dict
- Отслеживание порядка вызовов и менее многословные утверждения о вызовах
- Более сложное согласование аргументов
- Использование макета
- 2to3 — Автоматизированная трансляция кода Python 2 в 3
test— Пакет регрессионных тестов для Pythontest.support— Утилиты для тестового пакета Pythontest.support.socket_helper— Утилиты для тестирования сокетовtest.support.script_helper— Утилиты для выполнения тестов на Pythontest.support.bytecode_helper— Поддержка инструментов для тестирования правильности генерации байткодаtest.support.threading_helper— Утилиты для потоковых тестовtest.support.os_helper— Утилиты для os-тестовtest.support.import_helper— Утилиты для тестирования импортаtest.support.warnings_helper— Утилиты для проверки предупреждений