mirror of
https://github.com/actix/actix-web.git
synced 2024-11-25 11:01:14 +00:00
docs(test): intrgrate cargo-rdme
This commit is contained in:
parent
0fd85bae2a
commit
4c4c279938
4 changed files with 48 additions and 1 deletions
|
@ -40,7 +40,7 @@ pub trait FieldReader<'t>: Sized + Any {
|
||||||
/// `next()`/`try_next()`) may panic after the payload is exhausted. If this is a problem for
|
/// `next()`/`try_next()`) may panic after the payload is exhausted. If this is a problem for
|
||||||
/// your implementation of this method, you should [`fuse()`] the `Field` first.
|
/// your implementation of this method, you should [`fuse()`] the `Field` first.
|
||||||
///
|
///
|
||||||
/// [`fuse()`]: https://docs.rs/futures-util/0.3/futures_util/stream/trait.StreamExt.html#method.fuse
|
/// [`fuse()`]: futures_util::stream::StreamExt::fuse()
|
||||||
fn read_field(req: &'t HttpRequest, field: Field, limits: &'t mut Limits) -> Self::Future;
|
fn read_field(req: &'t HttpRequest, field: Field, limits: &'t mut Limits) -> Self::Future;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
45
actix-test/README.md
Normal file
45
actix-test/README.md
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# `actix-test`
|
||||||
|
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
|
||||||
|
[![crates.io](https://img.shields.io/crates/v/actix-test?label=latest)](https://crates.io/crates/actix-test)
|
||||||
|
[![Documentation](https://docs.rs/actix-test/badge.svg?version=0.1.5)](https://docs.rs/actix-test/0.1.5)
|
||||||
|
![Version](https://img.shields.io/badge/rustc-1.72+-ab6000.svg)
|
||||||
|
![MIT or Apache 2.0 licensed](https://img.shields.io/crates/l/actix-test.svg)
|
||||||
|
<br />
|
||||||
|
[![dependency status](https://deps.rs/crate/actix-test/0.1.5/status.svg)](https://deps.rs/crate/actix-test/0.1.5)
|
||||||
|
[![Download](https://img.shields.io/crates/d/actix-test.svg)](https://crates.io/crates/actix-test)
|
||||||
|
[![Chat on Discord](https://img.shields.io/discord/771444961383153695?label=chat&logo=discord)](https://discord.gg/NWpN5mmg3x)
|
||||||
|
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
|
<!-- cargo-rdme start -->
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
```rust
|
||||||
|
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());
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
<!-- cargo-rdme end -->
|
|
@ -5,6 +5,7 @@
|
||||||
//! real-world cases than using `init_service`, which skips HTTP encoding and decoding.
|
//! real-world cases than using `init_service`, which skips HTTP encoding and decoding.
|
||||||
//!
|
//!
|
||||||
//! # Examples
|
//! # Examples
|
||||||
|
//!
|
||||||
//! ```
|
//! ```
|
||||||
//! use actix_web::{get, web, test, App, HttpResponse, Error, Responder};
|
//! use actix_web::{get, web, test, App, HttpResponse, Error, Responder};
|
||||||
//!
|
//!
|
||||||
|
|
1
justfile
1
justfile
|
@ -80,6 +80,7 @@ doc-watch:
|
||||||
update-readmes: && fmt
|
update-readmes: && fmt
|
||||||
cd ./actix-files && cargo rdme --force
|
cd ./actix-files && cargo rdme --force
|
||||||
cd ./actix-router && cargo rdme --force
|
cd ./actix-router && cargo rdme --force
|
||||||
|
cd ./actix-test && cargo rdme --force
|
||||||
|
|
||||||
# Check for unintentional external type exposure on all crates in workspace.
|
# Check for unintentional external type exposure on all crates in workspace.
|
||||||
check-external-types-all toolchain="+nightly":
|
check-external-types-all toolchain="+nightly":
|
||||||
|
|
Loading…
Reference in a new issue