Инструменты разработки
Модули, описанные в этой главе, помогут вам писать программы. Например, модуль pydoc принимает модуль и генерирует документацию на основе его содержимого. Модули doctest и unittest содержат фреймворки для написания модульных тестов, которые автоматически выполняют код и проверяют, что полученный результат соответствует ожидаемому. 2to3 может переводить исходный код Python 2.x в корректный код Python 3.x.
Список модулей, описанных в этой главе:
-
typing— Поддержка подсказок типов- Соответствующие PEP
- Псевдонимы типов
- NewType
- Аннотирование вызываемых объектов
- Обобщения
- Аннотирование кортежей
- Тип объектов класса
- Пользовательские обобщенные типы
- Тип
Any - Номинальное против структурного подтипирования
- Содержание модуля
- График устаревания основных функций
pydoc— Генератор документации и система онлайн-справки- Режим разработки Python
-
doctest— Тестирование интерактивных примеров Python -
unittest— Фреймворк для модульного тестирования
-
unittest.mock— библиотека объектов-заглушек -
unittest.mock— начало работы-
Использование Mock
- Замена методов с помощью Mock
- Mock для вызовов методов объекта
- Моделирование классов
- Именование ваших заглушек
- Отслеживание всех вызовов
- Установка возвращаемых значений и атрибутов
- Выброс исключений с помощью заглушек
- Функции и итерируемые объекты в качестве побочного эффекта
- Моделирование асинхронных итераторов
- Моделирование асинхронного контекстного менеджера
- Создание Mock на основе существующего объекта
- Использование side_effect для возврата содержимого файла
- Декораторы 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— инструменты для тестирования корректного создания байт-кодаtest.support.threading_helper— утилиты для тестов многопоточностиtest.support.os_helper— утилиты для тестов ostest.support.import_helper— утилиты для тестов импортаtest.support.warnings_helper— утилиты для тестов предупреждений
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.11/library/development.html