Инструменты разработки
Модули, описанные в этой главе, помогут вам писать программное обеспечение. Например, модуль 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
- 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— инструменты поддержки для тестирования корректной генерации байткода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.10/library/development.html