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