[][src]Function actix_web::test::start

pub fn start<F, I, S, B>(factory: F) -> TestServer where
    F: Fn() -> I + Send + Clone + 'static,
    I: IntoServiceFactory<S>,
    S: ServiceFactory<Config = AppConfig, Request = Request> + 'static,
    S::Error: Into<Error> + 'static,
    S::InitError: Debug,
    S::Response: Into<HttpResponse<B>> + 'static,
    <S::Service as Service>::Future: 'static,
    B: MessageBody + 'static, 

Start test server with default configuration

Test server is very simple server that simplify process of writing integration tests cases for actix web applications.

Examples

use actix_web::{web, test, App, HttpResponse, Error};

async fn my_handler() -> Result<HttpResponse, Error> {
    Ok(HttpResponse::Ok().into())
}

#[actix_rt::test]
async fn test_example() {
    let mut srv = test::start(
        || App::new().service(
                web::resource("/").to(my_handler))
    );

    let req = srv.get("/");
    let response = req.send().await.unwrap();
    assert!(response.status().is_success());
}