用途:执行和管理 Rust 自学习记忆项目的测试,覆盖单元、集成与文档测试,并借助 cargo nextest 实现快速并行执行。
主要能力与命令:单元测试用 cargo nextest run --lib(快速,30 秒内);集成测试用 cargo nextest run --test '*';完整套件用 cargo nextest run --all,文档测试用 cargo test --doc(nextest 不支持 doctest)。质量门禁脚本为 ./scripts/quality-gates.sh,覆盖率阈值为 90%。变异测试用 cargo mutants -p do-memory-core 评估测试有效性。覆盖率报告用 cargo llvm-cov --html --output-dir coverage。
测试分类:单元测试针对单个函数;集成测试覆盖端到端工作流;文档测试验证文档示例;变异测试衡量测试有效性。
最佳实践:测试相互独立;遵循 Arrange-Act-Assert;每个测试只验证一个行为;命名采用 test_<function><scenario><expected>;单个单元测试控制在 1 秒内。
异步测试:使用 #[tokio::test] 标注异步测试;#[tokio::test(start_paused = true)] 可暂停时钟;#[tokio::test(flavor = "multi_thread", worker_threads = 4)] 用于并发操作。应使用 tokio::time::sleep().await 而非 std::thread::sleep(),并始终 await 异步调用。
故障排查:出现竞态条件时用 cargo test -- --test-threads=1;redb 锁错误时每个测试使用独立数据库;数据库连接被拒时检查 TURSO_URL/TURSO_TOKEN。
限制:文档测试需改用 cargo test --doc;具体项目配置与依赖版本资料未提供。相关技能包括 test-patterns(测试设计)、test-optimization(性能优化)与 test-fix(失败诊断)。