用途:为 Rust 异步代码(尤其是基于 Tokio 的情景记忆操作)提供测试模式与最佳实践,帮助编写可靠的异步单元测试。
主要能力:
- 基础异步测试:使用 #[tokio::test] 标注 async 测试函数,直接 await 异步方法,例如创建记忆实例并调用 start_episode。
- 时间相关测试:使用 #[tokio::test(start_paused = true)] 让时间仅在 await 时推进,从而快速验证 sleep、超时等时间行为,无需真实等待。
- 并发测试:使用 #[tokio::test(flavor = "multi_thread", worker_threads = 4)] 配合 tokio::spawn 与 futures::future::join_all 测试多任务并发。
- 超时测试:用 tokio::time::timeout 包裹慢操作,断言返回 Err 以验证超时逻辑。
- 记忆生命周期测试:按“开始 → 记录步骤 → 完成 → 校验”的顺序测试完整流程。
使用方式:在测试模块中按上述模式编写 #[tokio::test] 函数;时间测试启用 start_paused;并发测试切换 multi_thread 运行时;外部依赖需 mock,并覆盖错误路径。
常见陷阱:应使用 tokio::time::sleep().await 而非 std::thread::sleep();异步方法必须 await;并发测试不应使用单线程运行时。
适用场景:Rust 异步库或服务的单元测试、时间敏感逻辑验证、并发行为验证。
限制:资料未提供具体依赖版本、安装命令、完整项目配置及性能数据,暂未提供。