mcpField
R
rust-tests-guidelines

rust-tests-guidelines

github.com/redisearch测试与质量6.2k71 次安装今天更新
代码仓库

关于 rust-tests-guidelines

rust-tests-guidelines 汇总了 Rust 代码测试的编写规范,面向需要测试设计、组织方式及 C 符号处理准则的开发者。

主要功能

  1. 01优先通过公共 API 进行测试
  2. 02用 insta 测试难以比较的输出
  3. 03在适当场景用 proptest 验证不变量
  4. 04按 crate 组织集成测试
  5. 05将依赖私有 API 的测试放在代码旁
  6. 06说明 extern C 测试要求

适用场景

  1. 01为新的 Rust 组件规划测试
  2. 02选择公共或私有 API 测试方式
  3. 03组织 crate 的集成测试
  4. 04测试难预测的输出或关键不变量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/redisearch/redisearch --skill rust-tests-guidelines

安装后在 Claude Code 中输入/rust-tests-guidelines确认已加载。

详细介绍

编写 Rust 测试的指南

为 Rust 代码编写新测试的指南。

指南

  1. 针对被测代码的公共 API 编写测试。
  2. 仅当私有组件非常复杂,且难以通过公共 API 测试时,才测试私有 API。
  3. 对难以预测或比较的输出进行测试时,使用 insta。
  4. 适当时,使用 proptest 为关键不变量添加基于属性的测试。
  5. 编写测试代码时,应像编写生产代码一样认真。 避免不必要的重复,添加辅助函数以减少样板代码并确保可读性。 测试的意图应当一目了然;如果无法做到,则应清楚地记录。
  6. 不要在注释中引用确切的行号,因为行号可能会随时间变化。

代码组织

  1. 如果测试不依赖私有 API,请将其放在相关 crate 的 tests 目录下。
  2. tests 目录应组织为一个 crate,包含一个 main.rs 文件,并将所有测试放在模块中。 请参考 trie_rs/tests 目录。
  3. 如果测试必须依赖私有 API,请使用 #[cfg(test)] 模块,将测试与被测代码放在一起。

处理 extern C 符号

有关如何处理 Rust 测试中未定义的 C 符号,请参阅 CONTRIBUTING.md。

评论

支持 Markdown