pytest-asyncio ==============
.. image:: https://img.shields.io/pypi/v/pytest-asyncio.svg :target: https://pypi.python.org/pypi/pytest-asyncio .. image:: https://github.com/pytest-dev/pytest-asyncio/workflows/CI/badge.svg :target: https://github.com/pytest-dev/pytest-asyncio/actions?workflow=CI .. image:: https://codecov.io/gh/pytest-dev/pytest-asyncio/branch/main/graph/badge.svg :target: https://codecov.io/gh/pytest-dev/pytest-asyncio .. image:: https://img.shields.io/pypi/pyversions/pytest-asyncio.svg :target: https://github.com/pytest-dev/pytest-asyncio :alt: Supported Python versions .. image:: https://img.shields.io/badge/Matrix-%23pytest--asyncio-brightgreen :alt: Matrix chat room: #pytest-asyncio :target: https://matrix.to/#/#pytest-asyncio:matrix.org
pytest-asyncio _ is a pytest _ plugin. It facilitates testing of code that uses the asyncio _ library.
Specifically, pytest-asyncio provides support for coroutines as test functions. This allows users to await code inside their tests. For example, the following code is executed as a test item by pytest:
.. code-block:: python
@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res
More details can be found in the documentation _.
Note that test classes subclassing the standard unittest __ library are not supported. Users
are advised to use unittest.IsolatedAsyncioTestCase __
or an async framework such as asynctest __.
pytest-asyncio is available under the Apache License 2.0 _.
Installation ------------
To install pytest-asyncio, simply:
.. code-block:: bash
$ pip install pytest-asyncio
This is enough for pytest to pick up pytest-asyncio.
Contributing ------------
Contributions are very welcome.
Tests can be run with `tox. Please ensure that all tests are passing and
coverage at least stays the same before opening a pull request and marking it as
ready for review.
Use of AI in contributions, including issues, pull requests, and comments, must follow our AI policy <.github/AI_POLICY.md>`_.