]> git.ipfire.org Git - thirdparty/starlette.git/commitdiff
Explain 'TestClient(app) as client' vs 'client = TestClient(app)' (#1… (#1747)
authorRedowan Delowar <redowan.nafi@gmail.com>
Sun, 10 Jul 2022 12:23:40 +0000 (18:23 +0600)
committerGitHub <noreply@github.com>
Sun, 10 Jul 2022 12:23:40 +0000 (14:23 +0200)
* Explain 'TestClient(app) as client' vs 'client = TestClient(app)' (#1733)

* Nit (#1733)

* Update docs/testclient.md (#1733)

Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
* Update docs/testclient.md

Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
* Update docs/testclient.md

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
* Update docs/testclient.md

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
docs/testclient.md

index 64c766df8e09605b6fcecdbc07613027a28c2e66..f64c570bb7b117a9eecb78b9ac934122a8143936 100644 (file)
@@ -62,6 +62,13 @@ application. Occasionally you might want to test the content of 500 error
 responses, rather than allowing client to raise the server exception. In this
 case you should use `client = TestClient(app, raise_server_exceptions=False)`.
 
+!!! note
+
+    If you want the `TestClient` to run `lifespan` events (`on_startup`, `on_shutdown`, or `lifespan`),
+    you will need to use the `TestClient` as a context manager. Otherwise, the events
+    will not be triggered when the `TestClient` is instantiated. You can learn more about it
+    [here](/events/#running-event-handlers-in-tests).
+
 ### Selecting the Async backend
 
 `TestClient` takes arguments `backend` (a string) and `backend_options` (a dictionary).