Crate actix_test
source ·Expand description
Integration testing tools for Actix Web applications.
The main integration testing tool is TestServer
. It spawns a real HTTP server on an
unused port and provides methods that use a real HTTP client. Therefore, it is much closer to
real-world cases than using init_service
, which skips HTTP encoding and decoding.
§Examples
use actix_web::{get, web, test, App, HttpResponse, Error, Responder};
#[get("/")]
async fn my_handler() -> Result<impl Responder, Error> {
Ok(HttpResponse::Ok())
}
#[actix_rt::test]
async fn test_example() {
let srv = actix_test::start(||
App::new().service(my_handler)
);
let req = srv.get("/");
let res = req.send().await.unwrap();
assert!(res.status().is_success());
}
Structs§
- An asynchronous HTTP and WebSocket client.
- An HTTP Client request builder
- Client Response
- Manages HTTP client network connectivity.
- Async I/O test buffer.
- Test
Request
builder. - A basic HTTP server controller that simplifies the process of writing integration tests for Actix Web applications.
Enums§
- A set of errors that can occur during payload parsing.
Functions§
- Helper function that returns a response body of a TestRequest
- Helper function that returns a deserialized response body of a TestRequest
- Calls service and waits for response future completion.
- Create default test server config.
- Initialize service from application builder instance.
- Creates service that always responds with
200 OK
and no body. - Helper function that returns a response body of a ServiceResponse.
- Helper function that returns a deserialized response body of a ServiceResponse.
- Start default
TestServer
. - Start test server with custom configuration
- Creates service that always responds with given status code and no body.
- Collects all the bytes produced by
body
. - Get a localhost socket address with random, unused port.