-
-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix async_generator error by making the app fixture async #336
base: main
Are you sure you want to change the base?
Conversation
We are yielding the app fixture but not passing it as an argument which seems to break the second part of the documentation where we attempt to access the `test_client()` it gives an async_generator. ```bash AttributeError: 'async_generator' object has no attribute 'test_client' ```
Does this depend on the pytest-asyncio mode you are using? As it works for me without this change here |
@pgjones I'm using the default values for everything. I will reproduce and get back to you with the detailed versions of everything in an isolated environment. This is my working setup here. Have you tested this recently? Maybe it changed in the latest versions but was working previously.. My change works on Python 3.10, 3.11, 3.12 but I will reproduce again and leave detailed comment with it. |
@pgjones I did look further at your example, you are not following the documentation on how to configure a test. To configure your test you are using the https://github.com/pgjones/tozo/blob/main/backend/src/backend/run.py#L22 The documentation clearly instructs to use the So, There are two solutions:
|
The app fixture is not created as an async fixture which results in breaking the second part of the documentation where we attempt to access the
test_client()
it gives an async_generator.This PR fixes that to pass the tests
Checklist:
CHANGES.rst
summarizing the change and linking to the issue... versionchanged::
entries in any relevant code docs.pre-commit
hooks and fix any issues.pytest
andtox
, no tests failed.