#test-containers #axum #service #testing #testkit #test-kit #charted

charted-testkit

📦🦋 TestKit是一个支持testcontainers的Axum服务的测试库

2个版本

新版本 0.1.1 2024年8月20日
0.1.0 2024年6月23日

925 in Rust模式


用于 charted-testkit-macros

MIT 许可证

22KB
239

Noel (Trans Heart)

📦🦋 charted TestKit

charted TestKit 是一个针对 Axum 的测试库,它扩展了 libtest 并引入了自己的 test 宏。该库也可以仅用于Testcontainers。

TestKit 的设计目标是简化具有Testcontainers支持的Axum服务的集成测试,并提供额外的宏来帮助基于 Response 构建断言。

示例

use charted_testkit::{test, TestContext, assert_successful, consume_body};
use axum::{body::Bytes, routing, Router};
use hyper::Method;

async fn hello() -> &'static str {
    "Hello, world!"
}

fn router() -> Router {
    Router::new().route("/", routing::get(hello))
}

#[test(router)]
async fn mytest(ctx: TestContext) {
    let res = ctx
        .request("/", Method::GET, None::<axum::body::Bytes>, |_| {})
        .await
        .expect("unable to send request");

    assert_successful!(res);

    let body = consume_body!(res);
    assert_eq!(body, Bytes::from_static(b"Hello, world!"));
}

许可证

TestKitMIT 许可证 下发布,由 Noelware, LLC. 以爱和关怀发布!🐻‍❄️🦋

请阅读规范存储库中的 LICENSE 文件以获取有关源代码可以做什么的更多信息。

依赖关系

~7–19MB
~269K SLoC