18 releases

0.1.3 Feb 4, 2024
0.1.2 Aug 29, 2023
0.1.1 Feb 26, 2023
0.1.0 Jul 24, 2022
0.0.1 Mar 19, 2021

#776 in HTTP server

Download history 1220/week @ 2023-12-23 4503/week @ 2023-12-30 7443/week @ 2024-01-06 6395/week @ 2024-01-13 6501/week @ 2024-01-20 5333/week @ 2024-01-27 4813/week @ 2024-02-03 5924/week @ 2024-02-10 5869/week @ 2024-02-17 5138/week @ 2024-02-24 4228/week @ 2024-03-02 4837/week @ 2024-03-09 6751/week @ 2024-03-16 4633/week @ 2024-03-23 4907/week @ 2024-03-30 4060/week @ 2024-04-06

21,017 downloads per month
Used in 20 crates

MIT/Apache

1.5MB
38K SLoC

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());
}

Dependencies

~17–34MB
~604K SLoC