Test Client -TestClient¶
You can use theTestClient class to test FastAPI applications without creating an actual HTTP and socket connection, just communicating directly with the FastAPI code.
Read more about it in theFastAPI docs for Testing.
You can import it directly fromfastapi.testclient:
fromfastapi.testclientimportTestClientfastapi.testclient.TestClient¶
TestClient(app,base_url="http://testserver",raise_server_exceptions=True,root_path="",backend="asyncio",backend_options=None,cookies=None,headers=None,follow_redirects=True,client=("testclient",50000),) Bases:Client
Source code instarlette/testclient.py
373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411 | |
follow_redirectsinstance-attribute¶
follow_redirects=follow_redirectsmax_redirectsinstance-attribute¶
max_redirects=max_redirectstrust_envproperty¶
trust_envtimeoutpropertywritable¶
timeoutevent_hookspropertywritable¶
event_hooksauthpropertywritable¶
authAuthentication class used when none is passed at the request-level.
See alsoAuthentication.
taskinstance-attribute¶
taskportalclass-attributeinstance-attribute¶
portal=Noneasync_backendinstance-attribute¶
async_backend=_AsyncBackend(backend=backend,backend_options=backend_optionsor{})appinstance-attribute¶
app=asgi_appapp_stateinstance-attribute¶
app_state={}build_request¶
build_request(method,url,*,content=None,data=None,files=None,json=None,params=None,headers=None,cookies=None,timeout=USE_CLIENT_DEFAULT,extensions=None)Build and return a request instance.
- The
params,headersandcookiesargumentsare merged with any values set on the client. - The
urlargument is merged with anybase_urlset on the client.
See also:Request instances
Source code inhttpx/_client.py
340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389 | |
stream¶
stream(method,url,*,content=None,data=None,files=None,json=None,params=None,headers=None,cookies=None,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT,timeout=USE_CLIENT_DEFAULT,extensions=None)Alternative tohttpx.request() that streams the response bodyinstead of loading it into memory at once.
Parameters: Seehttpx.request.
See also:Streaming Responses
Source code inhttpx/_client.py
827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877 | |
send¶
send(request,*,stream=False,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT)Send a request.
The request is sent as-is, unmodified.
Typically you'll want to build one withClient.build_request()so that any client-level configuration is merged into the request,but passing an explicithttpx.Request() is supported as well.
See also:Request instances
Source code inhttpx/_client.py
879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928 | |
close¶
close()Close transport and proxies.
Source code inhttpx/_client.py
12631264126512661267126812691270127112721273 | |
request¶
request(method,url,*,content=None,data=None,files=None,json=None,params=None,headers=None,cookies=None,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT,timeout=USE_CLIENT_DEFAULT,extensions=None)Source code instarlette/testclient.py
421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459 | |
get¶
get(url,*,params=None,headers=None,cookies=None,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT,timeout=USE_CLIENT_DEFAULT,extensions=None)Source code instarlette/testclient.py
461462463464465466467468469470471472473474475476477478479480481482 | |
options¶
options(url,*,params=None,headers=None,cookies=None,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT,timeout=USE_CLIENT_DEFAULT,extensions=None)Source code instarlette/testclient.py
484485486487488489490491492493494495496497498499500501502503504505 | |
head¶
head(url,*,params=None,headers=None,cookies=None,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT,timeout=USE_CLIENT_DEFAULT,extensions=None)Source code instarlette/testclient.py
507508509510511512513514515516517518519520521522523524525526527528 | |
post¶
post(url,*,content=None,data=None,files=None,json=None,params=None,headers=None,cookies=None,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT,timeout=USE_CLIENT_DEFAULT,extensions=None)Source code instarlette/testclient.py
530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559 | |
put¶
put(url,*,content=None,data=None,files=None,json=None,params=None,headers=None,cookies=None,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT,timeout=USE_CLIENT_DEFAULT,extensions=None)Source code instarlette/testclient.py
561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590 | |
patch¶
patch(url,*,content=None,data=None,files=None,json=None,params=None,headers=None,cookies=None,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT,timeout=USE_CLIENT_DEFAULT,extensions=None)Source code instarlette/testclient.py
592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621 | |
delete¶
delete(url,*,params=None,headers=None,cookies=None,auth=USE_CLIENT_DEFAULT,follow_redirects=USE_CLIENT_DEFAULT,timeout=USE_CLIENT_DEFAULT,extensions=None)Source code instarlette/testclient.py
623624625626627628629630631632633634635636637638639640641642643644 | |
websocket_connect¶
websocket_connect(url,subprotocols=None,**kwargs)Source code instarlette/testclient.py
646647648649650651652653654655656657658659660661662663664665666667 | |
lifespanasync¶
lifespan()Source code instarlette/testclient.py
701702703704705706 | |
wait_startupasync¶
wait_startup()Source code instarlette/testclient.py
708709710711712713714715716717718719720721722723 | |
wait_shutdownasync¶
wait_shutdown()Source code instarlette/testclient.py
725726727728729730731732733734735736737738739 | |







