Viết kiểm thử chức năng thủ công

Nhập môn FastAPI

Matt Eckerle

Software and Data Engineering Leader

Kiểm thử chức năng là gì?

Kiểm thử hệ thống

  • Tập trung: Thao tác hệ thống độc lập
  • Mục đích: Xác nhận chức năng hệ thống
  • Phạm vi: Endpoint
  • Môi trường: Python, ứng dụng đang chạy
def test_read():
    response = client.get("/items/1")
    assert response.status_code == 200

Kiểm thử chức năng

  • Tập trung: Hệ thống tích hợp
  • Mục đích: Xác nhận hệ thống tổng thể
  • Phạm vi: Ứng dụng
  • Môi trường: Python, ứng dụng đang chạy
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
Nhập môn FastAPI

Luồng kiểm thử

Sơ đồ minh họa luồng kiểm thử thành công và thất bại

Nhập môn FastAPI

Ví dụ luồng kiểm thử chức năng

Luồng thành công

  • Tạo rồi đọc
  • Tạo rồi cập nhật
  • Tạo rồi xóa
  • ...

Luồng thất bại

  • Đọc khi chưa tạo
  • Cập nhật sau khi xóa
  • Xóa khi chưa tạo
  • ...
Nhập môn FastAPI

Script kiểm thử chức năng

  • Ngoài khung kiểm thử - "Kiểm thử thủ công"
  • Dùng requests
import requests
ENDPOINT = "http://localhost:8000/items"
# Tạo mục "rock"
r = requests.post(ENDPOINT, json={"name": "rock"})
assert r.status_code == 200
# Lấy mục rock
r = requests.get(ENDPOINT, json={"name": "rock"})
assert r.status_code == 200
  • Xây luồng dựa trên trạng thái ứng dụng đã biết
Nhập môn FastAPI

Laten we oefenen!

Nhập môn FastAPI

Preparing Video For Download...