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
Calls service and waits for response future completion.
Create default test server config.
Create service that always responds with given status code and no body.
Initialize service from application builder instance.
Create service that always responds with HttpResponse::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.
Helper function that returns a response body of a TestRequest
Helper function that returns a deserialized response body of a TestRequest
Start default TestServer
.
Start test server with custom configuration
Get a localhost socket address with random, unused port.