Repolode
pytest-dev

pytest-dev/pytest-asyncio

Плагин для pytest, позволяющий писать тестовые функции как корутины и напрямую вызывать в них код asyncio через await.

Звёзды
1,669
Форки
215
Открытые issues
53
Последний коммит
21 час назад

Что это?

pytest-asyncio — плагин для pytest, который добавляет поддержку тестирования кода на базе библиотеки Python asyncio. Он позволяет объявлять тестовые функции как корутины и вызывать асинхронный код через await прямо в тесте, не оборачивая его вручную в код для работы с event loop.

Тесты помечаются маркером asyncio, а pytest запускает их как обычные тестовые элементы. В документации проекта описаны параметры конфигурации, а также способы управления event loop и асинхронными фикстурами. Для установки достаточно одной команды pip, после чего pytest автоматически обнаруживает плагин.

Плагин не поддерживает тестовые классы, унаследованные от стандартной библиотеки unittest. Для таких случаев проект рекомендует unittest.IsolatedAsyncioTestCase или фреймворки с поддержкой async.

Ключевые возможности

  • 01Запускать тестовые функции-корутины, помеченные маркером asyncio.
  • 02Вызывать асинхронный код через await прямо в теле теста.
  • 03Работает как стандартный плагин pytest, устанавливаемый через pip.
  • 04Документация по настройке и управлению event loop.

Сценарии использования

  • Тестирование обработчиков или клиентов асинхронных веб-сервисов на базе asyncio.
  • Написание интеграционных тестов, обращающихся к асинхронным библиотекам для работы с базами данных или сетью.
  • Тестирование асинхронных фикстур, общих для набора тестов pytest.

Быстрый старт

  1. 1

    Установите pytest-asyncio с помощью pip

    pip install pytest-asyncio

Что важно знать

  • Классы тестов, наследующие unittest, не поддерживаются; вместо них используйте unittest.IsolatedAsyncioTestCase.

В подборках

Темы

Частые вопросы

Что такое pytest-asyncio?
Плагин для pytest, позволяющий писать тестовые функции как корутины и напрямую вызывать в них код asyncio через await. pytest-asyncio — плагин для pytest, который добавляет поддержку тестирования кода на базе библиотеки Python asyncio. Он позволяет объявлять тестовые функции как корутины и вызывать асинхронный код через await прямо в тесте, не оборачивая его вручную в код для работы с event loop.
pytest-asyncio можно использовать бесплатно? Какая у него лицензия?
pytest-asyncio распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pytest-asyncio всё ещё поддерживается?
Активно поддерживается. Последний коммит в pytest-asyncio — 5 нояб. 2026 г..
Для чего можно использовать pytest-asyncio?
Тестирование обработчиков или клиентов асинхронных веб-сервисов на базе asyncio. Написание интеграционных тестов, обращающихся к асинхронным библиотекам для работы с базами данных или сетью. Тестирование асинхронных фикстур, общих для набора тестов pytest.
Как установить pytest-asyncio?
Установите pytest-asyncio с помощью pip: pip install pytest-asyncio
Где скачать pytest-asyncio?
Исходный код и инструкции по установке — на GitHub: https://github.com/pytest-dev/pytest-asyncio

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Плагин для pytest, который запускает только тесты, затронутые недавними изменениями кода, и поддерживает непрерывный запуск в режиме наблюдения.

1 тыс.+2 за неделю86PythonMITАктивно поддерживаетсяОбновлён 4 дня назад

Плагин для pytest, который перемешивает порядок тестов и сбрасывает генераторы случайных чисел, чтобы воспроизводить сбои из-за порядка запуска или случайных данных.

724+1 за неделю39PythonMITАктивно поддерживаетсяОбновлён 4 дня назад