El ile fonksiyonel test yazma

FastAPI'ye Giriş

Matt Eckerle

Software and Data Engineering Leader

Fonksiyonel Testler Nedir?

Sistem Testleri

  • Odak: İzole sistem işlemleri
  • Amaç: Sistem işlevini doğrulama
  • Kapsam: Uç nokta
  • Ortam: Uygulama çalışırken Python ortamı
def test_read():
    response = client.get("/items/1")
    assert response.status_code == 200

Fonksiyonel Testler

  • Odak: Entegre sistem
  • Amaç: Sistemi bütün olarak doğrulama
  • Kapsam: Uygulama
  • Ortam: Uygulama çalışırken Python ortamı
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
FastAPI'ye Giriş

Test İş Akışları

Başarı ve hata test iş akışı örneklerini gösteren diyagramlar

FastAPI'ye Giriş

Fonksiyonel Test İş Akışı Örnekleri

Başarılı iş akışları

  • Oluştur, sonra oku
  • Oluştur, sonra güncelle
  • Oluştur, sonra sil
  • ...

Başarısız iş akışları

  • Oluşturmadan oku
  • Sildikten sonra güncelle
  • Oluşturmadan sil
  • ...
FastAPI'ye Giriş

Fonksiyonel Test Betikleri

  • Test çerçevesi dışında - "Manuel testler"
  • requests kullanın
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
  • Bilinen uygulama durumuna göre iş akışları
FastAPI'ye Giriş

Hadi pratik yapalım!

FastAPI'ye Giriş

Preparing Video For Download...