FastAPI include clasa TestClient (construită peste biblioteca modernă httpx), ce permite testarea tuturor rutelor aplicației tale fără a fi necesară pornirea unui server web Uvicorn pe un port fizic de rețea.
TestClient execută direct cererile prin apelarea stivei ASGI în memorie, oferind viteze incredibile de rulare (sute de teste pe secundă) și o API identică cu cea din biblioteca Requests (client.get(), client.post(), response.status_code, response.json()).
Exemplu: Testare endpoint cu pytest și TestClient
from fastapi import FastAPI
from fastapi.testclient import TestClient
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id, "name": "Monitor 4K"}
client = TestClient(app)
def test_read_item():
response = client.get("/items/42")
assert response.status_code == 200
assert response.json() == {"item_id": 42, "name": "Monitor 4K"}
def test_invalid_item_id():
response = client.get("/items/invalid_id")
assert response.status_code == 422 # Eroare automată de validare Pydantic
Întrebări & Exemple de Cod:
TestClient pentru Teste Sincrone în FastAPIAi o nelămurire despre utilizarea comenzii
TestClient pentru Teste Sincrone în FastAPIsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.