Spec-Zone.ru › Python 3.14

Инструменты разработки

Модули, описанные в этой главе, помогают писать программное обеспечение. Например, модуль pydoc принимает модуль и создает документацию на основе его содержимого. Модули doctest и unittest содержат инфраструктуру для написания модульных тестов, которые автоматически выполняют код и проверяют, что получен ожидаемый результат.

Список модулей, описанных в этой главе:

  • typing — поддержка аннотаций типов
    • Спецификация системы типов Python
    • Псевдонимы типов
    • NewType
    • Аннотирование вызываемых объектов
    • Обобщенные типы
    • Аннотирование кортежей
    • Тип объектов классов
    • Аннотирование генераторов и сопрограмм
    • Определяемые пользователем обобщенные типы
    • Тип Any
    • Номинальная и структурная подтипизация
    • Содержимое модуля
      • Специальные примитивы типизации
        • Специальные типы
        • Специальные формы
        • Создание обобщенных типов и псевдонимов типов
        • Другие специальные директивы
      • Протоколы
      • ABC и протоколы для работы с вводом-выводом
      • Функции и декораторы
      • Вспомогательные средства интроспекции
      • Константа
      • Устаревшие псевдонимы
        • Псевдонимы встроенных типов
        • Псевдонимы типов из collections
        • Псевдонимы других конкретных типов
        • Псевдонимы контейнерных ABC из collections.abc
        • Псевдонимы асинхронных ABC из collections.abc
        • Псевдонимы других ABC из collections.abc
        • Псевдонимы ABC из contextlib
    • График устаревания основных возможностей
  • pydoc — генератор документации и система интерактивной справки
  • Режим разработки Python
    • Последствия включения режима разработки Python
    • Пример ResourceWarning
    • Пример ошибки неверного файлового дескриптора
  • doctest — тестирование интерактивных примеров Python
    • Простое использование: проверка примеров в строках документации
    • Простое использование: проверка примеров в текстовом файле
    • Использование командной строки
    • Как это работает
      • Какие строки документации проверяются?
      • Как распознаются примеры в строках документации?
      • Что такое контекст выполнения?
      • Что насчет исключений?
      • Флаги параметров
      • Директивы
      • Предупреждения
    • Базовый API
    • API unittest
    • Расширенный API
      • Объекты DocTest
      • Объекты Example
      • Объекты DocTestFinder
      • Объекты DocTestParser
      • Объекты TestResults
      • Объекты DocTestRunner
      • Объекты OutputChecker
    • Отладка
    • Мнение автора
  • unittest — платформа модульного тестирования
    • Простой пример
    • Интерфейс командной строки
      • Параметры командной строки
    • Обнаружение тестов
    • Организация кода тестов
    • Повторное использование старого кода тестов
    • Пропуск тестов и ожидаемые сбои
    • Различение итераций теста с помощью подтестов
    • Классы и функции
      • Тестовые случаи
      • Группировка тестов
      • Загрузка и запуск тестов
        • Протокол load_tests
    • Фикстуры классов и модулей
      • setUpClass и tearDownClass
      • setUpModule и tearDownModule
    • Обработка сигналов
  • unittest.mock — библиотека объектов mock
    • Краткое руководство
    • Класс Mock
      • Вызов
      • Удаление атрибутов
      • Имена mock и атрибут name
      • Добавление mock-объектов в качестве атрибутов
    • Средства подмены
      • patch
      • patch.object
      • patch.dict
      • patch.multiple
      • Методы patch: start и stop
      • Подмена встроенных объектов
      • TEST_PREFIX
      • Вложенные декораторы patch
      • Где выполнять подмену
      • Подмена дескрипторов и прокси-объектов
    • Поддержка MagicMock и магических методов
      • Имитация магических методов
      • Magic Mock
    • Вспомогательные средства
      • sentinel
      • DEFAULT
      • call
      • create_autospec
      • ANY
      • FILTER_DIR
      • mock_open
      • Автоматическая спецификация
      • Запечатывание mock-объектов
    • Порядок приоритета side_effect, return_value и wraps
  • unittest.mock — начало работы
    • Использование Mock
      • Подмена методов с помощью Mock
      • Mock для вызовов методов объекта
      • Имитация классов
      • Именование mock-объектов
      • Отслеживание всех вызовов
      • Задание возвращаемых значений и атрибутов
      • Возбуждение исключений с помощью mock-объектов
      • Функции side effect и итерируемые объекты
      • Имитация асинхронных итераторов
      • Имитация асинхронного менеджера контекста
      • Создание mock-объекта на основе существующего объекта
      • Использование side_effect для возврата содержимого каждого файла
    • Декораторы patch
    • Дополнительные примеры
      • Имитация цепочек вызовов
      • Частичная имитация
      • Имитация метода-генератора
      • Применение одной и той же подмены к каждому методу теста
      • Имитация несвязанных методов
      • Проверка нескольких вызовов с помощью mock
      • Работа с изменяемыми аргументами
      • Вложенные подмены
      • Имитация словаря с помощью MagicMock
      • Подклассы Mock и их атрибуты
      • Имитация импортов с помощью patch.dict
      • Отслеживание порядка вызовов и менее подробные проверки вызовов
      • Более сложное сопоставление аргументов
  • test — пакет регрессионных тестов Python
    • Написание модульных тестов для пакета test
    • Запуск тестов с помощью интерфейса командной строки
  • test.support — вспомогательные средства для набора тестов Python
  • test.support.socket_helper — вспомогательные средства для тестирования сокетов
  • test.support.script_helper — вспомогательные средства для тестирования выполнения Python
  • test.support.bytecode_helper — средства поддержки проверки корректной генерации байт-кода
  • test.support.threading_helper — вспомогательные средства для тестирования потоков
  • test.support.os_helper — вспомогательные средства для тестирования os
  • test.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API