Scrierea unui test funcțional manual

Introducere în FastAPI

Matt Eckerle

Software and Data Engineering Leader

Ce sunt testele funcționale?

Teste de sistem

  • Focus: Operații izolate ale sistemului
  • Scop: Validarea funcției sistemului
  • Domeniu: Endpoint
  • Mediu: Mediu Python cu aplicația rulând
def test_read():
    response = client.get("/items/1")
    assert response.status_code == 200

Teste funcționale

  • Focus: Sistem integrat
  • Scop: Validarea sistemului în ansamblu
  • Domeniu: Aplicație
  • Mediu: Mediu Python cu aplicația rulând
def test_delete_then_read():
    response = client.delete("/items/1")
    assert response.status_code == 200
    response = client.get("/items/1")
    assert response.status_code == 404
Introducere în FastAPI

Fluxuri de testare

Diagrame cu exemple de fluxuri de testare reușite și eșuate

Introducere în FastAPI

Exemple de fluxuri pentru teste funcționale

Fluxuri reușite

  • Creare, apoi citire
  • Creare, apoi actualizare
  • Creare, apoi ștergere
  • ...

Fluxuri eșuate

  • Citire fără creare
  • Actualizare după ștergere
  • Ștergere fără creare
  • ...
Introducere în FastAPI

Scripturi pentru teste funcționale

  • În afara framework-ului de testare - "Teste manuale"
  • Se utilizează requests
import requests
ENDPOINT = "http://localhost:8000/items"
# Create item "rock"
r = requests.post(ENDPOINT, json={"name": "rock"})
assert r.status_code == 200
# Get item rock
r = requests.get(ENDPOINT, json={"name": "rock"})
assert r.status_code == 200
  • Fluxuri construite pe o stare cunoscută a aplicației
Introducere în FastAPI

Să exersăm!

Introducere în FastAPI

Preparing Video For Download...