20、使用 pytest 和 HTTPX 异步测试 API

使用 pytest 和 HTTPX 异步测试 API

在开发 API 时,测试是确保其稳定性和正确性的关键步骤。本文将介绍如何使用 pytest 和 HTTPX 对 FastAPI 应用的 REST API 端点和 WebSocket 端点进行异步测试。

编写 REST API 端点测试

测试 FastAPI 应用所需的工具已准备就绪,所有测试本质上都是执行 HTTP 请求并检查响应是否符合预期。

简单的 GET 请求测试

以下是对 hello_world 路径操作函数的测试示例:

import pytest
import httpx
from fastapi import status

@pytest.mark.asyncio
async def test_hello_world(test_client: httpx.AsyncClient):
    response = await test_client.get("/")
    assert response.status_code == status.HTTP_200_OK
    json = response.json()
    assert json == {"hello": "world"}

操作步骤:
1. 定义异步测试函数,并使用 @pytest.mark.asyncio 装饰器。
2. 请求 test_client 夹具,它提供一个 HTTPX 客户端

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值