测试
Router<()> 实现了 Service<Request<B>>,poll_ready 永远就绪、错误类型是 Infallible,所以测试一个 axum 应用可以不监听端口,造一个 Request 交给它,拿回 Response。这一部分只有一章,讲这种测试的几种写法、它和线上运行的差别,以及 axum 自己的测试为什么反而起了真实的服务器。
- 不起服务器测路由:
oneshot、as_service、into_service三种调用方式;用BodyExt::collect或axum::body::to_bytes读响应;ConnectInfo在测试里用MockConnectInfo代替,真实连接信息优先;axum 的TestClient怎样把一个服务挂到127.0.0.1:0上再用 reqwest 访问。
tower 卷的 不起服务器的测试 讲过本站的测试怎么用 oneshot,以及没调用 with_state 的 Router 每个请求重套 layer 的问题;这里不重复。
💬 关联讨论
发起讨论加载中...