用途:这是面向 Rust 的 Cargo 测试辅助技能,帮助运行 cargo test,并覆盖单元测试、集成测试、文档测试与基准测试。
主要能力:Rust 将测试作为一等公民,cargo test 可运行同文件内的单元测试、tests/ 目录下的集成测试,以及文档注释中的代码块(文档测试)。技能还涉及用 cargo bench 与 criterion 做基准与微优化测量,以及默认线程隔离下的并发并行测试执行。
使用方式:单元测试放在 src/ 中源模块旁,用 #[cfg(test)] 标注;集成测试放在根目录 tests/ 下,作为外部 crate 使用公开 API。常用命令包括:cargo test auth(按子串过滤)、cargo test -- --test-threads=1(串行执行)、cargo test -- --nocapture(显示通过测试的标准输出)。断言可用 assert_eq!、assert!,预期 panic 用 #[should_panic(expected = "...")]。
适用场景:Rust crate、库与二进制的官方内置测试;文档示例的自动编译与验证;算法性能与内存分配测量;需要线程隔离的并行测试。
限制与注意:并行测试默认共享可变全局状态会导致不稳定;测试中的编译器警告需用 cargo clippy --tests 检查;关键数值代码建议用 cargo test --release 运行以捕获溢出行为。常见问题包括标准输出被吞没(加 -- --nocapture)、tests/ 中找不到模块(需 pub 或 pub(crate) 暴露)、并行竞态导致链接或线程 panic(用 --test-threads=1)。资料未提供该技能的安装方式、收费与平台信息。