3 个版本

0.1.3 2024 年 1 月 25 日
0.1.2 2023 年 12 月 7 日
0.1.1 2023 年 12 月 7 日

#743数据库接口

MIT 许可证

24KB
265

temp-mongo

为单元测试提供简单的临时 MongoDB 实例。

使用 TempMongo 结构体获取一个连接到临时 MongoDB 实例的 mongodb::Client。所有从属的 MongoDB 实例的状态都存储在临时目录中,并且会自动清理(除非禁用)。

在 Unix 平台上,客户端通过 Unix 套接字连接。Windows 支持 planed by picking a free TCP port on the loopback adapter.

示例

请参阅 仓库中的示例,其中使用 assert2 提供了更详细的示例。

use temp_mongo::TempMongo;
use mongodb::bson::doc;

let mongo = TempMongo::new().await?;
println!("Using temporary directory: {}", mongo.directory().display());

let client = mongo.client();
let collection = client.database("test").collection("animals");

collection.insert_one(doc! { "species": "dog", "cute": "yes", "scary": "usually not" }, None).await?;
collection.insert_one(doc! { "species": "T-Rex", "cute": "maybe", "scary": "yes" }, None).await?;

依赖关系

~26–39MB
~742K SLoC