撰寫手動功能測試

FastAPI 入門

Matt Eckerle

Software and Data Engineering Leader

什麼是功能測試?

系統測試

  • 重點:隔離的系統操作
  • 目的:驗證系統功能
  • 範圍:端點
  • 環境:啟動應用程式的 Python 環境
def test_read():
    response = client.get("/items/1")
    assert response.status_code == 200

功能測試

  • 重點:整合的系統
  • 目的:驗證整體系統
  • 範圍:應用程式
  • 環境:啟動應用程式的 Python 環境
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 入門

測試流程

顯示成功與失敗測試流程範例的圖示

FastAPI 入門

功能測試流程範例

成功的流程

  • 先建立,再讀取
  • 先建立,再更新
  • 先建立,再刪除

失敗的流程

  • 未建立就讀取
  • 刪除後再更新
  • 未建立就刪除
FastAPI 入門

功能測試腳本

  • 不用測試框架——「手動測試」
  • 使用 requests
import requests
ENDPOINT = "http://localhost:8000/items"
# 建立項目 "rock"
r = requests.post(ENDPOINT, json={"name": "rock"})
assert r.status_code == 200
# 取得項目 rock
r = requests.get(ENDPOINT, json={"name": "rock"})
assert r.status_code == 200
  • 依既知的應用程式狀態設計流程
FastAPI 入門

一起來練習吧!

FastAPI 入門

Preparing Video For Download...