单元测试里把 HTTP 请求 mock 掉,不打真实网络

单元测试不打真实网络:真接口慢且不稳定,还会污染外部数据,失败原因也说不清。

Python 用 requests_mock 或 responses 把目标 URL 拦下返回固定响应,顺便断言调用参数对不对。

Node 用 nock,前端还能用 msw 在浏览器里复用同一套 handler。

重点是必须补上超时和 5xx 这两类分支的用例,这恰恰是线上最容易炸的地方。真实连通性只保留少量集成测试。

# Python
import requests_mock
with requests_mock.Mocker() as m:
    m.get("https://api.example.com/user/1", json={"id": 1}, status_code=200)
    assert fetch_user(1)["id"] == 1

// Node
nock("https://api.example.com").get("/user/1").reply(500)
await expect(fetchUser(1)).rejects.toThrow()
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容