Pytest plugin for testing async python code
Project description
pytest-aio
pytest-aio – Is a simple pytest plugin for testing async python code
The plugin supports all popular python async libraries: (Asyncio, Trio, Curio)
pytest-aio has been strongly influenced by AnyIO. Since 2021-02-09 AnyIO has dropped support for Curio, so the plugin has been created.
Requirements
python >= 3.7
Installation
pytest-aio should be installed using pip:
pip install pytest-aio
optionally extras are available:
pip install pytest-aio[curio,trio]
Usage
When installed the plugin run all your async test functions/fixtures.
async def test_async():
assert True
By default each test function will be run with asyncio, trio, curio libraries consistently. But you can customise the libraries for all your tests creating the fixture:
# Run all tests with Asyncio/Trio only
@pytest.fixture(params=['asyncio', 'trio'])
def aiolib(request):
assert request.param
Or customize an async backend for a test only:
@pytest.mark.parametrize('aiolib', ['asyncio'])
async def only_with_asyncio():
await asyncio.sleep(1)
assert True
Bug tracker
If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/asgi-tools/issues
Contributing
Development of the project happens at: https://github.com/klen/pytest-aio
License
Licensed under a MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for pytest_aio-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71d05b931fdbb205434932f6a5696f94ed4fb78124cf446d17c499cb1bfb9647 |
|
MD5 | a7ad55f0da38584b8433158c536310c2 |
|
BLAKE2b-256 | 40b589c1b286ecd69326fd8ac8898dcda17582c3dae679b739edeae596a60bb6 |