write-rust-tests について
write-rust-testsは、指定したRustのcrateやファイルにテストを追加するスキルです。rust-tests-guidelinesに従い、カバレッジと既存テストを確認して対象を選び、重複を避けます。
主な機能
- 01crateまたはファイルパスを指定
- 02公開APIと境界条件をテスト
- 03カバレッジ確認で不足箇所を特定
- 04各テストで独自の分岐を確認
- 05重複テストと単純な委譲のテストを回避
活用シーン
- 01Rustのcrateやファイルにテストを追加
- 02未テストの動作を見つける
- 03追加予定のテストの重複を確認
- 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つカバーしていることを再確認してください。該当しないテストは削除してください。