编写Rust测试Skill write-rust-tests

此技能用于编写Rust代码的单元测试,确保代码的正确性和可靠性。它指导如何全面测试公共API、处理边缘案例和错误条件,并避免冗余测试,以提高测试覆盖率。关键词:Rust测试、软件测试、代码覆盖率、测试冗余避免。

测试 0 次安装 0 次浏览 更新于 3/11/2026

name: 编写-rust-测试 description: 编写Rust测试以验证Rust代码的正确性。

编写Rust测试

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

参数

  • <path>: Rust crate或文件的路径。
  • <path 1> <path 2>: 多个crate/文件路径。

如果路径不包含src/,假设它在src/redisearch_rs目录中。例如,numeric_range_tree变为src/redisearch_rs/numeric_range_tree。 如果路径指向一个目录,考虑该目录中的所有Rust文件。

指南

生成的测试必须遵循/rust-tests-guidelines中概述的指南。

测试内容

确保所有公共API都被彻底测试,包括边缘案例、错误条件和分支。 使用/check-rust-coverage来确定哪些行未被测试覆盖。

避免冗余测试

在编写每个测试之前,明确识别它将覆盖哪个分支或代码路径,该路径是现有测试尚未覆盖的。未覆盖的行不足以作为理由——要问为什么它未被覆盖,以及是否可以通过已测试的入口点到达。

两个测试是冗余的,如果它们在测试代码中执行相同的分支集合。仅输入值不同但不改变控制流的情况不是不同的场景。

不要为以下内容编写独立测试:

  • 琐碎的特征委托DefaultFrom或类似的特征实现,这些是单行委托给已测试的构造函数,因为它们将通过传递性被覆盖。

添加测试后,双重检查每个新测试至少覆盖一个没有其他测试(现有或新的)覆盖的分支。删除任何不满足此条件的测试。