# actix_web::test::TestServer - Rust
API documentation for the Rust `TestServer` struct in crate `actix_web`.
Keywords: rust, rustlang, rust-lang, TestServer

# [−] [src] Struct actix_web::test::TestServer

    pub struct TestServer { /* fields omitted */ }

The `TestServer` type.

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

# Examples

    use actix_web::test::TestServer;

    let mut srv = TestServer::new(|app| app.handler(my_handler));

    let req = srv.get().finish().unwrap();
    let response = srv.execute(req.send()).unwrap();
    assert!(response.status().is_success());

## Methods

###

`impl TestServer`

[src]

####

`pub fn new<F>(config: F) -> Self where F: Clone + Send + 'static + Fn(&mut TestApp<()>),`

[src]

Start new test server

This method accepts configuration method. You can add middlewares or set handlers for test application.

####

`pub fn build( ) -> TestServerBuilder<(), impl Fn() + Clone + Send + 'static>`

[src]

Create test server builder

####

`pub fn build_with_state<S, F>(state: F) -> TestServerBuilder<S, F> where F: Fn() -> S + Clone + Send + 'static, S: 'static,`

[src]

Create test server builder with specific state factory

This method can be used for constructing application state. Also it can be used for external dependency initialization, like creating sync actors for diesel integration.

####

`pub fn with_factory<F, H>(factory: F) -> Self where F: Fn() -> H + Send + Clone + 'static, H: IntoHttpHandler + 'static,`

[src]

Start new test server with application factory

####

`pub fn unused_addr() -> SocketAddr`

[src]

Get firat available unused address

####

`pub fn addr(&self) -> SocketAddr`

[src]

Construct test server url

####

`pub fn url(&self, uri: &str) -> String`

[src]

Construct test server url

####

`pub fn execute<F, I, E>(&mut self, fut: F) -> Result<I, E> where F: Future<Item = I, Error = E>,`

[src]

Execute future on current core

####

`pub fn ws_at( &mut self, path: &str ) -> Result<(ClientReader, ClientWriter), ClientError>`

[src]

Connect to websocket server at a given path

####

`pub fn ws(&mut self) -> Result<(ClientReader, ClientWriter), ClientError>`

[src]

Connect to a websocket server

####

`pub fn get(&self) -> ClientRequestBuilder`

[src]

Create `GET` request

####

`pub fn post(&self) -> ClientRequestBuilder`

[src]

Create `POST` request

####

`pub fn head(&self) -> ClientRequestBuilder`

[src]

Create `HEAD` request

####

`pub fn client(&self, meth: Method, path: &str) -> ClientRequestBuilder`

[src]

Connect to test http server

## Trait Implementations

###

`impl Drop for TestServer`

[src]

####

`fn drop(&mut self)`

[src]

Executes the destructor for this type. Read more

## Auto Trait Implementations

###

`impl !Send for TestServer`

###

`impl !Sync for TestServer`

## Blanket Implementations

###

`impl<T> From for T`

[src]

####

`fn from(t: T) -> T`

[src]

Performs the conversion.

###

`impl<T, U> Into for T where U: From<T>,`

[src]

####

`fn into(self) -> U`

[src]

Performs the conversion.

###

`impl<T, U> TryFrom for T where T: From<U>,`

[src]

#### `type Error = !`

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.

####

`fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`

[src]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

`impl<T> Borrow for T where T: ?Sized,`

[src]

####

`fn borrow(&self) -> &T`

[src]

Immutably borrows from an owned value. Read more

###

`impl<T> BorrowMut for T where T: ?Sized,`

[src]

####

`fn borrow_mut(&mut self) -> &mut T`

[src]

Mutably borrows from an owned value. Read more

###

`impl<T, U> TryInto for T where U: TryFrom<T>,`

[src]

#### `type Error = <U as TryFrom<T>>::Error`

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.

####

`fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`

[src]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

`impl<T> Any for T where T: 'static + ?Sized,`

[src]

####

`fn get_type_id(&self) -> TypeId`

[src]

🔬 This is a nightly-only experimental API. (`get_type_id`)

this method will likely be replaced by an associated static

Gets the `TypeId` of `self`. Read more

###

`impl<T> Erased for T`

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)