Open foarsitter opened 1 week ago
Hi @foarsitter! Overriding the dependency shouldn't be necessary since we patch the engine factory used to generate the sessions. Can you try updating your test so that the session
fixture is before the app
fixture in the test function signature, so that it's loaded before the app by pytest?
My app is a session
scoped fixture, changing it to function
scoped and adding session as dependency raises on https://github.com/dialoguemd/fastapi-sqla/blob/4fc7c755a7c14c82845d8a6424e03f1dc67256e2/fastapi_sqla/sqla.py#L62
with
AttributeError: 'Connection' object has no attribute 'connect'. Did you mean: 'connection'?
When using the
fastapi.testclient.TestClient
with pytest, the app doesn't use the session fixture resulting in writes to the database.To solve this problem, pytest needs to tell the app to use the same session as used for testing. This can be done by using
dependency_overrides
.At least, this is how I solved the problem. Is there a beter approach or should I send a PR to document this?