Crate actix_test[−][src]
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
TestBuffer | Async I/O test buffer. |
TestRequest | Test |
TestServer | A basic HTTP server controller that simplifies the process of writing integration tests for Actix Web applications. |
TestServerConfig |
Functions
call_service | Calls service and waits for response future completion. |
config | Create default test server config. |
default_service | Create service that always responds with given status code and no body. |
init_service | Initialize service from application builder instance. |
load_stream | |
ok_service | Create service that always responds with |
read_body | Helper function that returns a response body of a ServiceResponse. |
read_body_json | Helper function that returns a deserialized response body of a ServiceResponse. |
read_response | Helper function that returns a response body of a TestRequest |
read_response_json | Helper function that returns a deserialized response body of a TestRequest |
start | Start default |
start_with | Start test server with custom configuration |
unused_addr | Get a localhost socket address with random, unused port. |