Инструменты разработки
Модули, описанные в этой главе, помогают писать программное обеспечение. Например, модуль pydoc принимает модуль и создает документацию на основе его содержимого. Модули doctest и unittest содержат инфраструктуру для написания модульных тестов, которые автоматически выполняют код и проверяют, что получен ожидаемый результат.
Список модулей, описанных в этой главе:
-
typing— поддержка аннотаций типов- Спецификация системы типов Python
- Псевдонимы типов
- NewType
- Аннотирование вызываемых объектов
- Обобщенные типы
- Аннотирование кортежей
- Тип объектов классов
- Аннотирование генераторов и сопрограмм
- Определяемые пользователем обобщенные типы
- Тип
Any - Номинальная и структурная подтипизация
- Содержимое модуля
- График устаревания основных возможностей
pydoc— генератор документации и система интерактивной справки- Режим разработки Python
-
doctest— тестирование интерактивных примеров Python -
unittest— платформа модульного тестирования -
unittest.mock— библиотека объектов mock -
unittest.mock— начало работы-
Использование Mock
- Подмена методов с помощью Mock
- Mock для вызовов методов объекта
- Имитация классов
- Именование mock-объектов
- Отслеживание всех вызовов
- Задание возвращаемых значений и атрибутов
- Возбуждение исключений с помощью mock-объектов
- Функции side effect и итерируемые объекты
- Имитация асинхронных итераторов
- Имитация асинхронного менеджера контекста
- Создание mock-объекта на основе существующего объекта
- Использование side_effect для возврата содержимого каждого файла
- Декораторы patch
-
Дополнительные примеры
- Имитация цепочек вызовов
- Частичная имитация
- Имитация метода-генератора
- Применение одной и той же подмены к каждому методу теста
- Имитация несвязанных методов
- Проверка нескольких вызовов с помощью mock
- Работа с изменяемыми аргументами
- Вложенные подмены
- Имитация словаря с помощью MagicMock
- Подклассы Mock и их атрибуты
- Имитация импортов с помощью patch.dict
- Отслеживание порядка вызовов и менее подробные проверки вызовов
- Более сложное сопоставление аргументов
-
Использование Mock
-
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 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/development.html