You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HTTPX库中检查接口调用次数(call_count)

如何在HTTPX中检查请求调用次数

如果你是使用pytest-httpx插件(HTTPX官方推荐的测试Mock工具),可以直接通过httpx_mock对象的call_count属性获取总调用次数,或者通过get_requests()方法过滤特定请求后统计数量,用法和requests_mock类似:

def test_foo(httpx_mock):
    # 执行触发HTTP请求的业务逻辑
    your_service_call_that_makes_request()
    
    # 检查总请求调用次数
    assert httpx_mock.call_count == 1
    
    # 更精确:检查针对特定URL的请求次数
    assert len(httpx_mock.get_requests(url="https://your-target-api.com/endpoint")) == 1

如果是手动使用httpx.MockTransport而不依赖pytest插件,可以通过transport.requests列表的长度来统计调用次数:

import httpx

def test_foo():
    transport = httpx.MockTransport()
    # 将transport绑定到HTTPX客户端
    with httpx.Client(transport=transport) as client:
        # 触发请求
        client.post("https://your-target-api.com/endpoint", json={"key": "value"})
    
    # 通过requests列表长度判断调用次数
    assert len(transport.requests) == 1

两种方式都能实现和requests_mock中call_count相同的校验效果,其中pytest-httpx的方式更适配pytest测试环境,支持更灵活的请求过滤和断言。

内容的提问来源于stack exchange,提问作者Tony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:22:06