mcpField
R
run-rust-tests

run-rust-tests

github.com/redisearchテスト・品質6.2k58 回インストール今日更新
リポジトリ

run-rust-tests について

コード変更後に Rust のテストを実行するスキルです。変更のあった crate を既定で選び、引数に応じて全テスト、指定 crate、個別テストも実行します。

主な機能

  1. 01Rust の変更対象 crate を特定
  2. 02選択した crate のテストを実行
  3. 03全テストや個別テストに対応
  4. 04失敗への対処後にテストを再実行

活用シーン

  1. 01変更のあった crate の Rust コードを検証
  2. 02Rust のテストスイート全体を実行
  3. 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 コードを変更した後にこのスキルを実行して、テストが成功することを確認します。

手順

  1. 上記の指定された引数を確認します。
    • 引数が空の場合は、影響を受けるクレートを特定します。
      1. git status と git diff --name-only を使って、src/redisearch_rs/ 内で変更されたファイルを確認します
      2. 変更された各ファイルをクレートに対応付けます(src/redisearch_rs/ 直下のディレクトリ名です。例:src/redisearch_rs/hyperloglog/src/lib.rs → hyperloglog)
      3. 影響を受ける各クレートのテストを実行します。
        cd src/redisearch_rs && cargo nextest run -p <crate1> -p <crate2> ...
        
      4. 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>
      
  2. テストが失敗した場合:
    • エラー出力を注意深く読みます
    • 失敗したテスト、または失敗の原因となったコードを修正します
    • 修正を確認するために、テストを再実行します

よく使うテストコマンド

# 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

コメント