以下是一个简单的 FastAPI 测试的示例:
1. 创建一个 FastAPI 应用(main.py):
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, World!"}
@app.get("/items/{item_id}")
def read_item(item_id: int, query_param: str = None):
return {"item_id": item_id, "query_param": query_param}
2. 编写测试脚本(test_main.py):
# test_main.py
from fastapi.testclient import TestClient
from main import app
client = TestClient(app)
def test_read_root():
response = client.get("/")
assert response.status_code == 200
assert response.json() == {"message": "Hello, World!"}
def test_read_item():
response = client.get("/items/42?query_param=test")
assert response.status_code == 200
assert response.json() == {"item_id": 42, "query_param": "test"}
3. 运行测试脚本:
使用测试运行器(例如 pytest)运行测试脚本:
pytest test_main.py
如果你还没有安装 pytest,可以使用以下命令安装:
pip install pytest
在这个例子中,我们使用 TestClient 创建了一个测试客户端,并编写了两个测试函数 test_read_root 和 test_read_item。这些测试函数使用断言来验证接口的行为是否符合预期。
FastAPI 测试工具还支持异步测试,允许你测试异步路径操作函数。此外,你还可以使用 monkeypatch 参数来模拟环境中的变量、配置等。
测试是确保代码质量和稳定性的重要手段,通过编写和运行测试,你可以更自信地开发和维护 FastAPI 应用程序。阅读 FastAPI 文档中关于测试的章节可以获取更多详细信息:[Testing FastAPI](https://fastapi.tiangolo.com/tutorial/testing/)。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7401/FastAPI