关于 run-rust-tests
用于在代码修改后运行 Rust 测试的 Skill。默认根据变更选择受影响的 crate,也可按参数运行全部测试、指定 crate 或测试。
主要功能
- 01检测 Rust 变更涉及的 crate
- 02运行所选 crate 的测试
- 03支持全量或指定测试
- 04修复失败后重新运行测试
适用场景
- 01验证受影响 crate 的 Rust 修改
- 02运行完整 Rust 测试套件
- 03检查 crate 中指定的测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ redisearch/ redisearch --skill run-rust-tests安装后在 Claude Code 中输入/run-rust-tests确认已加载。
详细介绍
Rust 测试技能
进行更改后运行 Rust 测试,以验证正确性。
参数
- 无参数:分析更改,仅运行受影响 crate 的测试
all:运行所有 Rust 测试<crate>:运行指定 crate 的测试(例如,/run-rust-tests hyperloglog)<crate> <test>:运行 crate 中的指定测试(例如,/run-rust-tests hyperloglog test_merge)
提供的参数:$ARGUMENTS
用法
修改 Rust 代码后运行此技能,确保测试通过。
说明
- 检查上面提供的参数:
- 如果参数为空,确定受影响的 crate:
- 使用
git status和git diff --name-only检查src/redisearch_rs/中修改了哪些文件 - 将每个修改的文件映射到其 crate(即
src/redisearch_rs/下一级目录的名称,例如,src/redisearch_rs/hyperloglog/src/lib.rs→hyperloglog) - 运行每个受影响 crate 的测试:
cd src/redisearch_rs && cargo nextest run -p <crate1> -p <crate2> ... - 如果
src/redisearch_rs/中没有 Rust 文件被修改,或者无法确定受影响的 crate,则运行所有测试
- 使用
- 如果提供了
all,运行所有 Rust 测试:cd src/redisearch_rs && cargo nextest run - 如果提供了 crate 名称,运行该 crate 的测试:
cd src/redisearch_rs && cargo nextest run -p <crate_name> - 如果同时提供 crate 名称和测试名称,运行指定测试:
cd src/redisearch_rs && cargo nextest run -p <crate_name> <test_name>
- 如果参数为空,确定受影响的 crate:
- 如果测试失败:
- 仔细阅读错误输出
- 修复失败的测试或导致失败的代码
- 重新运行测试以验证修复
常用测试命令
# Test specific crate
cd src/redisearch_rs && cargo nextest run -p hyperloglog
cd src/redisearch_rs && cargo nextest run -p inverted_index
cd src/redisearch_rs && cargo nextest run -p trie_rs
# Run a specific test
cd src/redisearch_rs && cargo nextest run -p <crate_name> <test_name>
# Run tests under miri (for undefined behavior detection)
cd src/redisearch_rs && cargo +nightly miri test
评论
支持 Markdown