From: Redowan Delowar Date: Sun, 10 Jul 2022 12:23:40 +0000 (+0600) Subject: Explain 'TestClient(app) as client' vs 'client = TestClient(app)' (#1… (#1747) X-Git-Tag: 0.21.0~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=643c3f20e385341a37c851a1d12ff3c33762c300;p=thirdparty%2Fstarlette.git Explain 'TestClient(app) as client' vs 'client = TestClient(app)' (#1… (#1747) * 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 * Update docs/testclient.md Co-authored-by: Marcelo Trylesinski Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Co-authored-by: Marcelo Trylesinski --- diff --git a/docs/testclient.md b/docs/testclient.md index 64c766df..f64c570b 100644 --- a/docs/testclient.md +++ b/docs/testclient.md @@ -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).