Инструменты разработки¶
Модули, описанные в этой главе, помогают вам писать программы. Например, модуль 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
— Утилиты для проверки предупреждений