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§
- Client
- An asynchronous HTTP and WebSocket client.
- Client
Request - An HTTP Client request builder
- Client
Response - Client Response
- Connector
- Manages HTTP client network connectivity.
- Test
Buffer - Async I/O test buffer.
- Test
Request - Test
Request
builder. - Test
Server - A basic HTTP server controller that simplifies the process of writing integration tests for Actix Web applications.
- Test
Server Config
Enums§
- Payload
Error - A set of errors that can occur during payload parsing.
Functions§
- call_
and_ read_ body - Helper function that returns a response body of a TestRequest
- call_
and_ read_ body_ json - Helper function that returns a deserialized response body of a TestRequest
- call_
service - Calls service and waits for response future completion.
- config
- Create default test server config.
- init_
service - Initialize service from application builder instance.
- ok_
service - Creates service that always responds with
200 OK
and no body. - read_
body - Helper function that returns a response body of a ServiceResponse.
- read_
body_ json - Helper function that returns a deserialized response body of a ServiceResponse.
- start
- Start default
TestServer
. - start_
with - Start test server with custom configuration
- status_
service - Creates service that always responds with given status code and no body.
- to_
bytes - Collects all the bytes produced by
body
. - unused_
addr - Get a localhost socket address with random, unused port.