Releases: pytest-dev/pytest-asyncio
pytest-asyncio 0.23.2
0.23.2 (2023-12-04)
- Fixes a bug that caused an internal pytest error when collecting .txt files #703
pytest-asyncio 0.23.1
0.23.1 (2023-12-03)
- Fixes a bug that caused an internal pytest error when using module-level skips #701
pytest-asyncio 0.23.0
This release is backwards-compatible with v0.21. Changes are
non-breaking, unless you upgrade from v0.22.
- BREAKING: The asyncio_event_loop mark has been removed. Event
loops with class, module, package, and session scopes can be
requested via the scope keyword argument to the asyncio
mark. - Introduces the event_loop_policy fixture which allows testing with
non-default or multiple event loops #662 - Introduces
pytest_asyncio.is_async_test
which returns whether a
test item is managed by pytest-asyncio #376 - Removes and pytest-trio, mypy, and flaky from the test
dependencies #620, #674, #678
pytest-asyncio 0.23.0b0
0.23.0 (UNRELEASED)
This release is backwards-compatible with v0.21.
Changes are non-breaking, unless you upgrade from v0.22.
- BREAKING: The asyncio_event_loop mark has been removed. Event loops with class, module, package, and session scopes can be requested via the scope keyword argument to the asyncio mark.
- Introduces the event_loop_policy fixture which allows testing with non-default or multiple event loops #662
- Removes pytest-trio from the test dependencies #620
pytest-asyncio 0.23.0a1
0.23.0 (UNRELEASED)
This release is backwards-compatible with v0.21.
Changes are non-breaking, unless you upgrade from v0.22.
- BREAKING: The asyncio_event_loop mark has been removed. Event loops with class, module, package, and session scopes can be requested via the scope keyword argument to the asyncio mark.
- Introduces the event_loop_policy fixture which allows testing with non-default or multiple event loops #662
- Removes pytest-trio from the test dependencies #620
pytest-asyncio 0.23.0a0
0.23.0 (UNRELEASED)
This release is backwards-compatible with v0.21.
Changes are non-breaking, unless you upgrade from v0.22.
- BREAKING: The asyncio_event_loop mark has been removed. Event loops with class, module, package, and session scopes can be requested via the scope keyword argument to the asyncio mark.
- Introduces the event_loop_policy fixture which allows testing with non-default or multiple event loops #662
- Removes pytest-trio from the test dependencies #620
pytest-asyncio 0.22.0 (yanked)
This release deprecated event loop overrides, but didn't provide adequate replacement functionality for all relevant use cases. As such, the release was yanked from PyPI.
0.22.0 (2023-10-31)
- Class-scoped and module-scoped event loops can be requested
via the asyncio_event_loop mark. #620 - Deprecate redefinition of the event_loop fixture. #587
Users requiring a class-scoped or module-scoped asyncio event loop for their tests
should mark the corresponding class or module with asyncio_event_loop. - Test items based on asynchronous generators always exit with xfail status and emit a warning during the collection phase. This behavior is consistent with synchronous yield tests. #642
- Remove support for Python 3.7
- Declare support for Python 3.12
pytest-asyncio 0.21.1
0.21.1 (2023-07-12)
- Output a proper error message when an invalid
asyncio_mode
is selected. - Extend warning message about unclosed event loops with additional possible cause.
#531 - Previously, some tests reported "skipped" or "xfailed" as a result. Now all tests report a "success" result.
pytest-asyncio 0.21.0
0.21.0 (23-03-19)
- Drop compatibility with pytest 6.1. Pytest-asyncio now depends on pytest 7.0 or newer.
- pytest-asyncio cleans up any stale event loops when setting up and tearing down the
event_loop fixture. This behavior has been deprecated and pytest-asyncio emits a
DeprecationWarning when tearing down the event_loop fixture and current event loop
has not been closed.
pytest-asyncio 0.20.3
title: 'pytest-asyncio'
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:
@pytest.mark.asyncio
async def test_some_asyncio_code():
res = await library.do_something()
assert b"expected result" == res
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:
$ 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 the coverage at least stays the same before you submit a pull
request.