Инструменты разработки
Модули, описанные в этой главе, помогут вам писать программное обеспечение. Например, модуль pydoc принимает модуль и генерирует документацию на основе содержимого модуля. Модули doctest и unittest содержат фреймворки для написания модульных тестов, которые автоматически выполняют код и проверяют, что полученный результат соответствует ожидаемому. 2to3 может преобразовывать исходный код Python 2.x в корректный код Python 3.x.
Список модулей, описанных в этой главе:
-
typing— Поддержка подсказок типов- Соответствующие PEP
- Псевдонимы типов
- NewType
- Callable
- Обобщенные типы
- Пользовательские обобщенные типы
- Тип
Any - Номинальный против структурного подтипирования
- Содержимое модуля
pydoc— Генератор документации и система справки онлайн- Режим разработки Python
- Последствия использования режима разработки Python
- Пример ResourceWarning
- Пример ошибки bad file descriptor
-
doctest— Тестирование интерактивных примеров Python -
unittest— Фреймворк для модульного тестирования
-
unittest.mock— библиотека объектов-заглушек -
unittest.mock— начало работы-
Использование Mock
- Моделирование методов с помощью патча
- Mock для вызовов методов объекта
- Моделирование классов
- Именование ваших заглушек
- Отслеживание всех вызовов
- Установка возвращаемых значений и атрибутов
- Вызов исключений с помощью заглушек
- Функции и итерируемые объекты с побочными эффектами
- Моделирование асинхронных итераторов
- Моделирование асинхронного менеджера контекста
- Создание заглушки из существующего объекта
- Декораторы patch
-
Дополнительные примеры
- Моделирование последовательных вызовов
- Частичное моделирование
- Моделирование метода-генератора
- Применение одного и того же патча к каждому методу теста
- Моделирование несвязанных методов
- Проверка нескольких вызовов с помощью mock
- Обработка изменяемых аргументов
- Вложение патчей
- Моделирование словаря с помощью MagicMock
- Подклассы Mock и их атрибуты
- Моделирование импортов с помощью patch.dict
- Отслеживание порядка вызовов и менее подробные утверждения о вызовах
- Более сложные соответствия аргументов
-
Использование Mock
- 2to3 — Автоматическое преобразование кода Python 2 в 3
-
test— пакет регрессионных тестов для Python test.support— Утилиты для набора тестов Pythontest.support.socket_helper— Утилиты для тестов сокетовtest.support.script_helper— Утилиты для тестов выполнения Pythontest.support.bytecode_helper— Инструменты для проверки корректного создания байткода
© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.9/library/development.html