SuperAPI AI 工具集

rust-testing-strategy

编程与开发

查看项目

更新于 10-15 22:12

技能介绍

用途:这是 HASH 项目的 Rust 测试策略,适用于编写 Rust 单元测试、集成测试或快照测试,以及选择断言和测试组织模式。

验证与执行:修改 Rust 代码时运行 cargo clippy --all-features --all-targets --workspace --no-deps 检测问题;用 cargo doc --no-deps --all-features 检查文档。单元与集成测试使用 cargo-nextest,文档测试使用默认测试运行器;数据库填充可通过项目 package.json 中的 yarn 命令完成。

设计原则:每个函数需测试正常路径与错误条件,为每个错误分支编写对应测试,显式覆盖边界与异常输入;流式编解码器需测试部分数据与缓冲区管理。测试遵循 Arrange-Act-Assert 结构,追求高覆盖率但质量优先于数量。

断言规范:断言消息统一采用 should... 格式,例如 value.expect("should contain a valid configuration");用带清晰消息的 expect()/expect_err() 替代 unwrap();比较值优先用带自定义消息的 assert_eq!;测试错误时断言具体错误类型或消息内容。

组织与命名:相关测试归入合适模块,用辅助函数避免重复,可考虑参数化测试。测试名形如 <subject><case>[<variant>],不含 test_ 前缀、冠词、叙述动词或 when/with/that 从句,通常三到五个词;否定用例用输入类别命名而非结果词。属性测试或 rstest 用例集以所测属性命名;重命名快照测试需同步重命名快照文件。

代码质量:测试代码遵循与生产代码相同的质量标准,为数组/切片访问添加断言以避免 clippy 警告,用注释说明场景、动作、预期结果及原因,JSON 使用 serde_json 的 json! 宏而非原始字符串。

限制:资料未提供该技能的具体安装方式、适用平台或收费信息。