8 个版本
0.1.7 | 2022 年 5 月 13 日 |
---|---|
0.1.6 | 2022 年 3 月 15 日 |
0.1.5 | 2021 年 11 月 19 日 |
0.1.4 | 2021 年 9 月 30 日 |
#392 在 测试 中
110 每月下载量
在 6 crates 中使用
60KB
1.5K SLoC
dockertest-server
一个针对服务器容器进行测试的基于 dockertest 构建的测试框架。
此 crate 为 dockertest crate 提供了一个小抽象层,以便于运行针对多个在容器中运行的服务器进行的测试。它提供了一组特质来定义服务器及其相关配置,然后注册任意数量的服务器以用于测试。
此 crate 的主要用途是为希望构建能够运行在容器中的服务的集成测试的 crates 提供一个易于使用的测试框架。
安装
将 dockertest-server
添加到您的 cargo.toml 中作为依赖项
[dev-dependencies]
dockertest-server = "0.1.7"
用法
以下示例启动一个模拟 OAuth 服务器,然后测试其是否能够响应对 HTTP 请求
// Note: This requires the `web` feature
use dockertest_server::servers::auth::{OIDCServer, OIDCServerConfig};
use dockertest_server::Test;
let config = OIDCServerConfig::builder().port(8090).build().unwrap();
let mut test = Test::new();
test.register(config);
test.run(|instance| async move {
let server: OIDCServer = instance.server();
let client = reqwest::Client::new();
let resp = client
.get(format!(
"{}/default/.well-known/openid-configuration",
server.external_url()
))
.send()
.await;
assert!(resp.is_ok());
assert_eq!(resp.unwrap().status(), 200);
});
此 crate 随带支持各种服务器,请参阅 servers
模块以了解包含的服务器。请注意,大多数服务器都需要启用功能标志以避免捆绑不必要的实现。
请随时提交一个包含您自己实现的 PR 以添加到主 crate。
测试
使用 cargo test
运行测试。
贡献
查看 问题 以了解需要关注的项目或提交您的问题,然后
- 在 GitHub 上分叉仓库 (https://github.com/jmgilman/dockertest-server/fork)
- 创建您的功能分支 (git checkout -b feature/fooBar)
- 提交您的更改 (git commit -am 'Add some fooBar')
- 将更改推送到分支 (git push origin feature/fooBar)
- 创建新的拉取请求
依赖项
~14–25MB
~402K SLoC