Skip to main content

测试

每一个应用都应该经过充分的测试。Actix Web 提供了单元测试和集成测试的工具。

单元测试

对于单元测试,actix-web 提供了一个请求构建器类型。TestRequest 实现了类似构建器的模式。你可以使用 to_http_request() 生成 HttpRequest 实例,并使用它调用你的处理器。


集成测试

这里提供了一些方法来测试你的应用。Actix Web 可以在真实的 HTTP 服务器中运行特定的处理程序。

TestReuqest::get()TestRequest::post() 和其他方法可以用来向测试服务器发送请求。

使用 test::init_service 创建一个 Service 用于测试,该方法接受一个常规的 App 构建器。

查看 API 文档 获取更多信息。


如果需要更复杂的应用程序配置,测试时与创建正常应用程序非常相似。例如,你可能需要初始化应用程序状态。创建一个带有 data 方法的 App 并附加状态,就像创建普通应用程序一样。


测试响应流(Stream response)

如果你需要测试流生成,只需要调用 into_parts() 并将结果的 body 转换为 future 并执行它,例如在测试 Server Sent Events 时。