rust-tests-guidelines について
rust-tests-guidelinesは、Rustコードのテスト作成に関する指針です。テスト設計、構成、Cシンボルの扱い方について基準を必要とする開発者向けです。
主な機能
- 01公開APIを通じたテストを優先
- 02比較しにくい出力にinstaを使用
- 03適切な不変条件にproptestを適用
- 04crateごとに統合テストを構成
- 05非公開APIが必要なテストをコードの近くに配置
- 06extern Cテストの要件を記載
活用シーン
- 01新しいRustコンポーネントのテストを計画
- 02公開・非公開APIのテスト方法を選択
- 03crateの統合テストを構成
- 04予測しにくい出力や重要な不変条件をテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ redisearch/ redisearch --skill rust-tests-guidelinesインストール後、Claude Code で/rust-tests-guidelinesを入力して読み込まれたか確認します。
詳細
Rust テスト作成のガイドライン
Rust コードの新しいテストを作成するためのガイドラインです。
ガイドライン
- テスト対象のコードの公開 API をテストします。
- 非公開 API をテストするのは、非公開コンポーネントが非常に複雑で、公開 API を通じたテストが難しい場合に限ります。
- 予測や比較が難しい出力をテストする場合は、
instaを使用します。 - 適切な場合は、主要な不変条件に対するプロパティベーステストを追加するために
proptestを使用します。 - テストコードも、本番コードと同じ注意を払って記述します。 不要な重複を避け、ヘルパーを導入して定型コードを減らし、読みやすさを確保します。 テストの意図は明確にし、難しい場合はその意図を明確に文書化します。
- コメントで正確な行番号を参照しないでください。行番号は時間の経過とともに変わる可能性があります。
コードの構成
- 非公開 API に依存しないテストは、該当するクレートの
testsディレクトリに配置します。 testsディレクトリはクレートとして構成し、main.rsファイルを置き、すべてのテストをモジュールにまとめます。 例としてtrie_rs/testsディレクトリを参照してください。- テストで非公開 API に依存する必要がある場合は、
#[cfg(test)]モジュールを使用して、テスト対象のコードと同じ場所に配置します。
extern C シンボルの扱い
Rust のテストにおける未定義の C シンボルの扱いについては、CONTRIBUTING.md を確認してください。
コメント
Markdown 対応