ページ内ナビ
概要
RSpecをRuby on Railsへ統合し、アプリケーションの振る舞いを検証するテスト用ライブラリです。model、request、system、job、mailerなどRailsの仕組みに対応するテスト種別と、期待値を表すmatcherを提供します。生成コマンドで設定や対象コードに応じたひな型を作れます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
Railsの各層を目的別のテストとして検証する
model、request、system、controller、view、routing、job、mailerなどのテスト種別を使い分けられます。RailsのTestCaseとテスト用の補助機能を、RSpecの期待値記法と組み合わせて、処理結果やHTTP応答、画面操作を検証します。
出典:[1]
設定を生成し、必要な範囲のテストを実行する
rails generate rspec:installで設定ファイルと補助ファイルを作り、Railsのgeneratorから対応するテストファイルも生成できます。bundle exec rspecでは全件、ディレクトリ、単一ファイル、行番号を指定して実行できます。
出典:[1]
向いている用途
Railsアプリケーションの期待する振る舞いを共有する
利用者から見たHTTP応答や画面操作から、モデルやジョブの単体的な振る舞いまで、同じ記法で仕様と検証を近づけたいチームに向きます。特にrequestテストやsystemテストを使い、Railsの境界を通した確認を重視する開発で役立ちます。
出典:[1]
導入前の確認
参考にした公式資料
- [1]RSpec Rails v8.0.4 README(2026-10-04)
- [2]RSpec Rails v8.0.4 gem specification(2026-10-04)
- [3]RSpec Rails v8.0.4 changelog(2026-10-04)
- [4]RSpec Rails versioning strategy(2026-10-04)
- [5]RSpec Rails GitHub repository metadata(2026-10-04)
- [6]RSpec Rails v8.0.4 MIT license(2026-10-04)
編集部からの補足
テスト種別を増やす前に、失敗時にどの境界を特定したいかを決めると構成しやすくなります。HTTPの振る舞いはrequestテスト、利用者の操作はsystemテストというように、目的に合う層を選んでください。
3ステップで試す
- 1
既存のRailsアプリへRSpec Railsを追加する
Rails 8.0または7.2を使い、そのRails版のRuby要件を満たす検証用アプリケーションのルートで実行します。BundlerがGemfileを更新し、依存関係を導入します。
bundle add rspec-rails --version 8.0.4 --group development,test - 2
RSpecの設定ファイルを生成する
.rspec、spec/spec_helper.rb、spec/rails_helper.rbを生成します。bundle exec rails generate rspec:install - 3
Rails環境を読む最小テストを実行する
小さなテストを作り、テスト環境でRailsを読み込んで成功することを確認します。
mkdir -p spec/models && printf '%s\n' "require 'rails_helper'" "RSpec.describe 'smoke' do" " it 'runs inside Rails' do" " expect(Rails.env.test?).to be(true)" " end" "end" > spec/models/smoke_spec.rb && bundle exec rspec spec/models/smoke_spec.rb
成長
成長の推移 · 直近30日
5,276 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 6
- Open PR
- 20
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Vitest17,180 Stars
共通タグ 2件 · 共通カテゴリ 2件
Viteのtransform/configを共有しNode・DOM・Browser Modeを一つのtest frameworkで扱う
TypeScript - JUnit7,056 Stars
共通タグ 2件 · 共通カテゴリ 2件
PlatformとJupiterでJava/JVMテストを実行する標準的なテスト基盤
Java - MockK5,762 Stars
共通タグ 2件 · 共通カテゴリ 2件
mock・stub・verifyをKotlin DSLで記述し、coroutineやAndroid testへ広げる
Kotlin - Kotest4,789 Stars
共通タグ 2件 · 共通カテゴリ 2件
spec style・assertion・property testingをKotlinのtest codeへまとめる
Kotlin - Fluent Assertions3,813 Stars
共通タグ 2件 · 共通カテゴリ 2件
C#.Should()から始まる読みやすいassertionで.NETのunit testに期待結果と失敗理由を表現する - Letter Opener3,838 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
開発中のメールを送信せず、ブラウザで内容を確認する
Ruby
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。