Menulis uji fungsional manual

Pengantar FastAPI

Matt Eckerle

Software and Data Engineering Leader

Apa itu Uji Fungsional?

Uji Sistem

  • Fokus: Operasi sistem terisolasi
  • Tujuan: Validasi fungsi sistem
  • Cakupan: Endpoint
  • Lingkungan: Python dengan app berjalan
def test_read():
    response = client.get("/items/1")
    assert response.status_code == 200

Uji Fungsional

  • Fokus: Sistem terintegrasi
  • Tujuan: Validasi sistem secara keseluruhan
  • Cakupan: Aplikasi
  • Lingkungan: Python dengan app berjalan
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
Pengantar FastAPI

Alur Uji

Diagram yang menampilkan contoh alur uji sukses dan gagal

Pengantar FastAPI

Contoh Alur Uji Fungsional

Alur berhasil

  • Buat, lalu baca
  • Buat, lalu ubah
  • Buat, lalu hapus
  • ...

Alur gagal

  • Baca tanpa buat
  • Ubah setelah hapus
  • Hapus tanpa buat
  • ...
Pengantar FastAPI

Skrip Uji Fungsional

  • Di luar kerangka uji - "Uji manual"
  • Gunakan 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
  • Alur dibuat terhadap status aplikasi yang diketahui
Pengantar FastAPI

Ayo berlatih!

Pengantar FastAPI

Preparing Video For Download...