关于 rust-tests-guidelines
rust-tests-guidelines 汇总了 Rust 代码测试的编写规范,面向需要测试设计、组织方式及 C 符号处理准则的开发者。
主要功能
- 01优先通过公共 API 进行测试
- 02用 insta 测试难以比较的输出
- 03在适当场景用 proptest 验证不变量
- 04按 crate 组织集成测试
- 05将依赖私有 API 的测试放在代码旁
- 06说明 extern C 测试要求
适用场景
- 01为新的 Rust 组件规划测试
- 02选择公共或私有 API 测试方式
- 03组织 crate 的集成测试
- 04测试难预测的输出或关键不变量
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ redisearch/ redisearch --skill rust-tests-guidelines安装后在 Claude Code 中输入/rust-tests-guidelines确认已加载。
详细介绍
编写 Rust 测试的指南
为 Rust 代码编写新测试的指南。
指南
- 针对被测代码的公共 API 编写测试。
- 仅当私有组件非常复杂,且难以通过公共 API 测试时,才测试私有 API。
- 对难以预测或比较的输出进行测试时,使用
insta。 - 适当时,使用
proptest为关键不变量添加基于属性的测试。 - 编写测试代码时,应像编写生产代码一样认真。 避免不必要的重复,添加辅助函数以减少样板代码并确保可读性。 测试的意图应当一目了然;如果无法做到,则应清楚地记录。
- 不要在注释中引用确切的行号,因为行号可能会随时间变化。
代码组织
- 如果测试不依赖私有 API,请将其放在相关 crate 的
tests目录下。 tests目录应组织为一个 crate,包含一个main.rs文件,并将所有测试放在模块中。 请参考trie_rs/tests目录。- 如果测试必须依赖私有 API,请使用
#[cfg(test)]模块,将测试与被测代码放在一起。
处理 extern C 符号
有关如何处理 Rust 测试中未定义的 C 符号,请参阅 CONTRIBUTING.md。
评论
支持 Markdown