run-rust-tests について
コード変更後に Rust のテストを実行するスキルです。変更のあった crate を既定で選び、引数に応じて全テスト、指定 crate、個別テストも実行します。
主な機能
- 01Rust の変更対象 crate を特定
- 02選択した crate のテストを実行
- 03全テストや個別テストに対応
- 04失敗への対処後にテストを再実行
活用シーン
- 01変更のあった crate の Rust コードを検証
- 02Rust のテストスイート全体を実行
- 03crate 内の指定テストを確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ redisearch/ redisearch --skill run-rust-testsインストール後、Claude Code で/run-rust-testsを入力して読み込まれたか確認します。
詳細
Rust テストスキル
変更後に Rust テストを実行して、正しく動作することを確認します。
引数
- 引数なし:変更を分析し、影響を受けるクレートのテストのみを実行します
all:すべての Rust テストを実行します<crate>:指定したクレートのテストを実行します(例:/run-rust-tests hyperloglog)<crate> <test>:指定したクレート内の特定のテストを実行します(例:/run-rust-tests hyperloglog test_merge)
指定された引数:$ARGUMENTS
使用方法
Rust コードを変更した後にこのスキルを実行して、テストが成功することを確認します。
手順
- 上記の指定された引数を確認します。
- 引数が空の場合は、影響を受けるクレートを特定します。
git statusとgit diff --name-onlyを使って、src/redisearch_rs/内で変更されたファイルを確認します- 変更された各ファイルをクレートに対応付けます(
src/redisearch_rs/直下のディレクトリ名です。例:src/redisearch_rs/hyperloglog/src/lib.rs→hyperloglog) - 影響を受ける各クレートのテストを実行します。
cd src/redisearch_rs && cargo nextest run -p <crate1> -p <crate2> ... src/redisearch_rs/内で Rust ファイルが変更されていない場合、または影響を受けるクレートを特定できない場合は、すべてのテストを実行します
allが指定された場合は、すべての Rust テストを実行します。cd src/redisearch_rs && cargo nextest run- クレート名が指定された場合は、そのクレートのテストを実行します。
cd src/redisearch_rs && cargo nextest run -p <crate_name> - クレート名とテスト名の両方が指定された場合は、特定のテストを実行します。
cd src/redisearch_rs && cargo nextest run -p <crate_name> <test_name>
- 引数が空の場合は、影響を受けるクレートを特定します。
- テストが失敗した場合:
- エラー出力を注意深く読みます
- 失敗したテスト、または失敗の原因となったコードを修正します
- 修正を確認するために、テストを再実行します
よく使うテストコマンド
# 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 対応