【FastAPI】TestClient 测试用例

说明

测试用例在项目中是不可缺失的一部分

FastAPI 的测试用例需要安装 pip install pytest

包含测试用例的文件名格式一般为:test_xx.py

使用

编写两个接口

import uvicorn
from random import randint
from typing import Optional
from fastapi import FastAPI, Header

app = FastAPI()

@app.get('/random')
async def get_random():
    """获取一个随机数"""
    return randint(1,10)

@app.get('/ua')
async def get_ua(user_agent: Optional[str] = Header(None, convert_underscores=True)):
    return user_agent

if __name__ == '__main__':
    uvicorn.run(app)

编写测试用例文件

需要导入 FastAPI() 实例化的对象

from fastapi.testclient import TestClient
from run import app

client = TestClient(app=app)

def test_app_random():
    res = client.get('/random')
    assert res.status_code == 200
    assert type(res) == int

def test_app_ua():
    res = client.get('/ua')
    assert res.status_code == 200

直接再命令行使用 pytest 启动测试

mark

发表评论 / Comment

用心评论~