mcpField
W
write-rust-tests

write-rust-tests

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

write-rust-tests について

write-rust-testsは、指定したRustのcrateやファイルにテストを追加するスキルです。rust-tests-guidelinesに従い、カバレッジと既存テストを確認して対象を選び、重複を避けます。

主な機能

  1. 01crateまたはファイルパスを指定
  2. 02公開APIと境界条件をテスト
  3. 03カバレッジ確認で不足箇所を特定
  4. 04各テストで独自の分岐を確認
  5. 05重複テストと単純な委譲のテストを回避

活用シーン

  1. 01Rustのcrateやファイルにテストを追加
  2. 02未テストの動作を見つける
  3. 03追加予定のテストの重複を確認
  4. 04境界条件やエラー経路を検証

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/write-rust-testsを入力して読み込まれたか確認します。

詳細

Rust テストの作成

Rust コードの新しいテストを作成します。

引数

  • <path>:Rust のクレートまたはファイルへのパス。
  • <path 1> <path 2>:複数のクレートまたはファイルへのパス。

パスに src/ が含まれていない場合は、src/redisearch_rs ディレクトリ内にあるものとします。たとえば、numeric_range_tree は src/redisearch_rs/numeric_range_tree になります。 パスがディレクトリを指している場合は、そのディレクトリ内のすべての Rust ファイルを対象とします。

ガイドライン

生成するテストは、/rust-tests-guidelines に記載されているガイドラインに従う必要があります。

テスト対象

エッジケース、エラー条件、分岐を含め、すべての公開 API を十分にテストしてください。 /check-rust-coverage を使用して、テストでカバーされていない行を特定してください。

冗長なテストの回避

各テストを作成する前に、そのテストが既存のテストではカバーされていないどの分岐またはコードパスをカバーするのかを明確にしてください。カバーされていない行があるだけでは十分な根拠になりません。なぜカバーされていないのか、すでにテスト済みのエントリーポイントから到達できるかどうかを確認してください。

テスト対象のコードで同じ分岐の集合を実行するテストは、冗長です。制御フローに影響しない入力値の違いだけでは、別のシナリオとは見なせません。

次のものを単独でテストするのは避けてください。

  • 単純なトレイトへの委譲 — Default、From、または同様のトレイト実装が、すでにテスト済みのコンストラクターに単一行で委譲する場合。これらは推移的にカバーされます。

テストを追加した後は、新しいテストがそれぞれ、ほかのテスト(既存または新規)ではカバーされない分岐を少なくとも1つカバーしていることを再確認してください。該当しないテストは削除してください。

コメント