Средства разработки¶
Модули, описанные в этой главе, помогают вам писать программы. Например, модуль pydoc
берет модуль и генерирует документацию на основе его содержимого. Модули doctest
и unittest
содержат фреймворки для написания модульных тестов, которые автоматически выполняют код и проверяют получение ожидаемого результата.
Список модулей, описанных в этой главе, следующий:
typing
— Поддержка подсказок типов- Спецификация системы типов Python
- Псевдонимы типа
- NewType
- Аннотирование вызываемых объектов
- Дженерики
- Аннотирование кортежей
- Тип объектов класса
- Определяемые пользователем общие типы
- Тип
Any
- Номинальная и структурная подтипизация
- Содержание модуля
- График устаревания основных функций
pydoc
— Генератор документации и система интерактивной помощи- Режим разработки на Python
doctest
— Тестовые интерактивные примеры Pythonunittest
— Фреймворк для модульного тестированияunittest.mock
— Библиотека насмешливых объектовunittest.mock
— начало работы- Использование макета
- Моделирование методов исправления
- Mock для вызовов методов на объекте
- Подражание классам
- Называйте свои модели
- Отслеживание всех звонков
- Установка возвращаемых значений и атрибутов
- Возбуждение исключений с помощью mocks
- Функции с побочным эффектом и итерабели
- Подражание асинхронным итераторам
- Асинхронный менеджер контекста
- Создание макета из существующего объекта
- Использование side_effect для возврата содержимого каждого файла
- Декораторы
- Другие примеры
- Издевательство над цепными вызовами
- Частичное издевательство
- Имитация метода генератора
- Применение одного и того же патча к каждому методу испытаний
- Издевательство над несвязанными методами
- Проверка нескольких вызовов с помощью макета
- Работа с изменчивыми аргументами
- Матрешки
- Подражание словарю с помощью MagicMock
- Подклассы Mock и их атрибуты
- Сопоставление импорта с помощью patch.dict
- Отслеживание порядка вызовов и менее подробные утверждения о вызовах
- Более сложное сопоставление аргументов
- Использование макета
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
— Утилиты для проверки предупреждений