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

#894 in HTTP server

Download history 5888/week @ 2024-01-24 5407/week @ 2024-01-31 4410/week @ 2024-02-07 6649/week @ 2024-02-14 5540/week @ 2024-02-21 4510/week @ 2024-02-28 4552/week @ 2024-03-06 5474/week @ 2024-03-13 6368/week @ 2024-03-20 4644/week @ 2024-03-27 4837/week @ 2024-04-03 4745/week @ 2024-04-10 6224/week @ 2024-04-17 6224/week @ 2024-04-24 5875/week @ 2024-05-01 5713/week @ 2024-05-08

24,746 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

~18–33MB
~609K SLoC