rust-testing
単体テスト、統合テスト、非同期テスト、プロパティベーステスト、モック、カバレッジを含むRustテストパターン。TDD方法論に従う。
原文 · 译文未通过检查适用对象:软件开发与测试。自动收录 · 待核查。
原作者说明节选
从固定版本的 SKILL.md 提取,保留原文语言。以下内容属于作者说明,本站尚未验证安装、兼容或运行结果。
查看日文原文
原文涵盖的主题
- Rust テストパターン
- 使用場面
- 動作原理
- RustのTDDワークフロー
- RED-GREEN-REFACTOR サイクル
- Rustでの段階的TDD
- 単体テスト
- モジュールレベルのテスト整理
TDD方法論に従って信頼性が高く保守しやすいテストを書くための包括的なRustテストパターン。 新しいRustの関数、メソッド、またはトレイトを書く場合 既存のコードにテストカバレッジを追加する場合 パフォーマンスクリティカルなコードのベンチマークを作成する場合 入力検証にプロパティベーステストを実装する場合 RustプロジェクトでTDDワークフローに従う場合 1. ターゲットコードを特定する — テストする関数、トレイト、またはモジュールを見つける 2. テストを書く — #[cfg(test)] モジュール内で #[test] を使用、rstest でパラメータ化テスト、または proptest でプロパティベーステスト 3. 依存関係をモックする — mockall を使用してテスト対象のユニットを分離する 4. テストを実行する (RED) — テストが期待通りに失敗することを確認する 5. 実装する (GREEN) — テストを通過するための最小限のコードを書く 6. リファクタリングする — テストを通過したまま、コードを改善する 7. カバレッジを確認する — cargo-llvm-cov を使用し、80%以上を目標にする | コードの種類 | 目標 | |-----------|--------| | クリティカルなビジネスロジック | 100% | | パブリックAPI | 90%以上 | | 汎用コード | 80%以上 | | 生成済み / FFIバインディング | 除外 | すべきこと: まずテストを書く (TDD) 単体テストには #[cfg(test)] モジュールを使用する 実装ではなく動作をテストする シナリオを説明する記述的なテスト名を使用する より良いエラーメッセージのために assert! より asserteq! を優先する クリーンなエラー出力のために Result を返すテストでは ? を使用する テストを独立させる——共有の可変状態なし すべきでないこと: Result::iserr() をテストできる場合に #[shouldpanic] を使用する すべてをモックする——可能なら統合テストを優先する フレーキーなテストを無視する——修正または分離する テストで sleep() を使用する——チャンネル、バリア、または tokio::time::pause() を使用する エラーパスのテストをスキップする 覚えておくこと:テストはドキュメントである。コードをどのように使うべきかを示している。明確に書き、最新の状態を保つこと。
- 来源仓库
- affaan-m/ECC
- 源文件
- docs/ja-JP/skills/rust-testing/SKILL.md
- 固定版本
- d2ef2680594f9a17526a6e1a2e18b3d242c5d17b
来源与内容状态
本条为自动发现的元数据,尚未完成人工文档核查;适用性与运行结果待核查。
原作者:affaan-m/ECC · 原作者仓库元数据。文档核查:未核查。最近来源检查:2026-11-09T14:01:49.645Z。
分类由名称、说明与路径规则生成,分类不代表已核实适配。
许可与权利归属
MIT。第三方内容及版权归原作者,使用条件以原文为准。
许可原文 ↗本站没有因同步、复制或用户自报成功而将资源标为运行验证通过。
限制与注意事项
- 元数据收录不代表本站已经安装、适配、实测或进行安全审查。