Crates.io | axum-test-helpers |
lib.rs | axum-test-helpers |
version | 0.8.0 |
source | src |
created_at | 2024-02-10 19:52:51.037238 |
updated_at | 2024-10-14 16:02:01.878757 |
description | 🧪 Test client for axum copied from axum |
homepage | |
repository | https://github.com/cloudwalk/axum-test-helpers |
max_upload_size | |
id | 1135155 |
size | 48,097 |
axum-test-helpers
exposes axum
original TestClient, which is private to the axum
crate
More information about this crate can be found in the crate documentation.
Add this crate as a dev-dependency:
[dev-dependencies]
axum-test-helpers = "0.7.4"
Use the TestClient on your own Router:
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("/").await;
assert_eq!(res.status(), StatusCode::OK);
You can find examples like this in the example directory.
See the crate documentation for way more examples.
By default axum-test-helpers print trace like Listening on 127.0.0.1:36457
. You can disable trace with axum-test-helpers = { version = "0.*", default-features = false, features = ["withouttrace"] }
.
Before submitting a pull request or after pulling from the main repository, ensure all tests pass:
# Run axum-test-helpers tests
cargo test
# Test the hello-world example project
(cd examples/hello-world && cargo test)
This project is licensed under the GPL-3.0-only.