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