Crate actix_test[−][src]
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
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.
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.
Creates service that always responds with given status code and no body.
Start default TestServer
.
Start test server with custom configuration
Collects the body produced by a MessageBody
implementation into Bytes
.
Get a localhost socket address with random, unused port.