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.