SuperAPI AI 工具集

rust-testing-quality

编程与开发

查看项目

更新于 10-15 21:49

技能介绍

用途:在编写、组织或运行 Rust 测试时使用,涵盖单元测试、集成测试、文档测试、proptest 属性测试、criterion 基准测试与 cargo-mutants 变异测试。不适用于 CI 流水线接线与门禁排序(属于 rust-tooling-cicd),也不覆盖非 Rust 测试套件。

主要能力与测试类型:单元测试放在源文件的 #[cfg(test)] mod tests 中,与同 crate 运行、可访问私有项;集成测试放在 tests/.rs,每个文件是独立 crate,仅能访问公开 API;文档测试写在 /// 文档的代码块中,会被编译并作为示例运行;属性测试用 proptest,可放在单元或集成测试中,生成随机输入并做收缩;基准测试用 criterion 放在 benches/.rs,做统计计时而非正确性验证。

关键规则:cargo nextest run 按设计跳过文档测试,必须始终搭配 cargo test --doc,不能把 nextest 全绿当作完整覆盖;集成测试只能看到公开 API,需要私有项时应放入 #[cfg(test)];proptest-regressions/ 目录必须提交到版本控制,以复现失败种子;criterion 基准需在 Cargo.toml 中设置 harness = false;cargo mutants 很慢,应作为门禁在定时 CI 中运行,而非每次推送。

使用方式:常用命令为 cargo nextest run --all-features 与 cargo test --doc 配对执行。属性测试骨架使用 proptest! 宏与 prop_assert_eq!。工作流要求先并行启动三个 agent(探索代码库、研究最新文档、查询 crate API),实现后用 sniper 验证。

适用场景:Rust 项目的测试组织、属性测试与变异测试引入、基准测试搭建。限制:不涉及 CI 流水线接线,不覆盖非 Rust 测试;具体模板与完整示例见 test-suite.md、criterion-bench.md 等参考文档。