mcpField
R
rails-testing

rails-testing

github.com/pproencaテスト・品質218297 回インストール11 週間前に更新
リポジトリ

rails-testing について

rails-testingは、コミュニティが管理するRuby on Railsのテストガイドです。テストスイートを作成・レビューする開発者向けに、テスト設計、データ準備、信頼性、性能を扱う優先度付きルールをまとめています。

主な機能

  1. 018カテゴリにわたる優先度付き46ルール
  2. 02RSpecとFactoryBotのテスト指針
  3. 03リクエストテストとシステムテストの実践
  4. 04バックグラウンドジョブのテスト指針
  5. 05テストスイートの性能と信頼性のルール

活用シーン

  1. 01Rails機能のRSpecテスト作成
  2. 02不安定なパターンのテストレビュー
  3. 03CIテストスイートの性能改善

インストール

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

$npx skills add https://github.com/pproenca/dot-skills --skill rails-testing

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
async-separate-enqueue-from-perform.md
async-test-after-commit.md
async-test-job-perform.md
async-test-mailer-delivery.md
async-use-fake-mode-default.md
data-avoid-fixture-coupling.md
data-build-over-create.md
data-factory-traits.md
data-minimal-attributes.md
data-sequence-unique-values.md
data-transient-attributes.md
design-avoid-conditional-logic.md
design-avoid-mystery-guest.md
design-behavior-over-implementation.md
design-descriptive-test-names.md
design-explicit-subject.md
design-four-phase-test.md
design-one-assertion-per-test.md
model-avoid-testing-framework.md
model-test-associations.md
model-test-callbacks-sparingly.md
model-test-custom-methods.md
model-test-enums.md
model-test-scopes.md
model-test-validations.md
org-avoid-deep-nesting.md

詳細

Community Ruby on Rails のテストに関するベストプラクティス

Community が管理する、Ruby on Rails アプリケーション向けの包括的なテストガイドです。8 つのカテゴリにわたる 46 のルールを、影響度の高い順にまとめ、自動テストの生成、レビュー、リファクタリングの指針を示します。

適用するタイミング

以下の場合に、このガイドラインを参照してください。

  • モデル、リクエスト、システムテスト、ジョブの新しい RSpec スペックを書くとき
  • traits やシーケンスを使って FactoryBot ファクトリーを設定するとき
  • ユーザーの一連の操作を対象とする Capybara のシステムテストを書くとき
  • Sidekiq または Active Job を使ったバックグラウンドジョブをテストするとき
  • アンチパターン(正体不明のデータ、フレーキーテスト、遅いスペックなど)がないかテストコードをレビューするとき
  • テストスイートのパフォーマンスと CI パイプラインの速度を最適化するとき
  • テストファイル、shared examples、カスタムマッチャーを整理するとき

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1テストの設計と構造CRITICALdesign-
2テストデータの管理CRITICALdata-
3モデルのテストHIGHmodel-
4リクエストとコントローラーのテストHIGHrequest-
5システムテストと受け入れテストMEDIUM-HIGHsystem-
6非同期処理とバックグラウンドジョブのテストMEDIUMasync-
7テストのパフォーマンスと信頼性MEDIUMperf-
8テストの整理と保守LOW-MEDIUMorg-

クイックリファレンス

1. テストの設計と構造(CRITICAL)
2. テストデータの管理(CRITICAL)
3. モデルのテスト(HIGH)
  • model-test-validations - 成功するケースだけでなく、境界値のケースでバリデーションをテストします
  • model-test-associations - dependent の動作も含め、アソシエーションを明示的にテストします
  • model-test-scopes - 条件に一致するレコードと一致しないレコードを使ってスコープをテストします
  • model-test-callbacks-sparingly - コールバックの存在ではなく、副作用をテストします
  • model-test-custom-methods - さまざまなシナリオで、入力と出力の組み合わせを使ってパブリックメソッドをテストします
  • model-avoid-testing-framework - ActiveRecord やフレームワークの動作はテストしません
  • model-test-enums - enum の遷移と、生成されるスコープをテストします
4. リクエストとコントローラーのテスト(高)
5. システムテストと受け入れテスト(中〜高)
6. 非同期処理とバックグラウンドジョブのテスト(中)
7. テストのパフォーマンスと信頼性(中)
8. テストの整理とメンテナンス(低〜中)

使用方法

詳しい説明とコード例については、各リファレンスファイルを参照してください。

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と並び順
assets/templates/_template.md新しいルールのテンプレート
metadata.jsonバージョンとリファレンス情報

コメント