6 个版本 (3 个破坏性更新)

0.4.0 2024 年 7 月 28 日
0.3.0 2023 年 6 月 3 日
0.2.0 2022 年 12 月 19 日
0.1.2 2022 年 12 月 19 日
0.1.0 2022 年 4 月 28 日

#93测试

Download history 2110/week @ 2024-05-03 4156/week @ 2024-05-10 2637/week @ 2024-05-17 1786/week @ 2024-05-24 1816/week @ 2024-05-31 2690/week @ 2024-06-07 3208/week @ 2024-06-14 5290/week @ 2024-06-21 3131/week @ 2024-06-28 4196/week @ 2024-07-05 6696/week @ 2024-07-12 4605/week @ 2024-07-19 4818/week @ 2024-07-26 5912/week @ 2024-08-02 6188/week @ 2024-08-09 5446/week @ 2024-08-16

每月下载量 23,195
6 个 crate 中使用

MIT 许可证

13KB
195

axum-test-helper

axum-test-helper 暴露了 axum 原始的 TestClient,它是 axum crate 的私有成员

有关此 crate 的更多信息,请参阅 crate 文档

高级功能

  • 提供易于使用的接口
  • 为每个调用启动不同端口的服务器
  • 处理 JSON、文本和文件响应/请求

使用示例

将此 crate 添加为 dev-dependency

[dev-dependencies]
axum-test-helper = "0.*" # alternatively specify the version as "0.3.0"

在自己的 Router 上使用 TestClient

use axum::Router;
use axum::http::StatusCode;
use axum_test_helper::TestClient;

// you can replace this Router with your own app
let app = Router::new().route("/", get(|| async {}));

// initiate the TestClient with the previous declared Router
let client = TestClient::new(app);
let res = client.get("/").send().await;
assert_eq!(res.status(), StatusCode::OK);

您可以在 示例目录 中找到类似示例。

有关更多示例,请参阅 crate 文档

禁用跟踪

默认情况下,axum-test-helper 打印跟踪信息,例如 Listening on 127.0.0.1:36457。您可以使用以下命令禁用跟踪:axum-test-helper = { version = "0.*", default-features = false, features = ["withouttrace"] }

贡献

在提交拉取请求或从主仓库拉取后,请确保所有测试通过

# Run axum-test-helper tests
cargo test

# Test the hello-world example project
(cd examples/hello-world && cargo test)

许可证

本项目采用 MIT 许可证

依赖项

~8–23MB
~313K SLoC