OSS探訪

Rubyの振る舞いをexample・expectation・test doubleで記述し、CLIで実行するBDDテスト基盤

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
117
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/09/03
ページ内ナビ

概要

RSpecは、Ruby向けのBDDテスト基盤です。monorepoには実行構造を担うrspec-core、期待結果を表現するrspec-expectations、stubやmockを扱うrspec-mocks、共通処理のrspec-supportが含まれます。通常はrspec gemを導入するとcore・expectations・mocksをまとめて利用できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

describe・itとexpectationで振る舞いを読みやすく記述する

example groupをdescribe、個別の振る舞いをitで表現し、expect(...).to ...で期待値を記述します。spec自体が対象codeの振る舞いを説明する文書として読める構成です。

出典:[2]

runner・matcher・test doubleをcomponentごとに分離する

rspec-coreはexample実行・filter・formatを担当し、rspec-expectationsはmatcher、rspec-mocksはstub・fake・message expectationを提供します。必要ならcomponent gem単位でも導入できます。

出典:[2][3]

向いている用途

Ruby libraryやapplicationのunit・behavior testを共通化したい場合に向く

Ruby codeのexampleを読みやすいDSLで管理し、CLIから対象specやformatterを切り替えて継続的に実行したいprojectに向きます。Rails固有のintegrationには別projectのrspec-railsを組み合わせます。

出典:[2]

導入前の確認

monorepo mainの4.0 betaと3.13 stable系を混同しない

確認時点のmain branchは4.0.0.beta1ですが、各component changelogは3.13系stableからmainへの差分を示しています。production projectでstableを使う場合は3.13系へversion範囲を固定し、4.0 betaのbreaking changeを前提にしないようにします。

出典:[4][5]

Rails integrationはRSpec本体とは別に選ぶ

このmonorepoはRSpecのcore gemsをまとめるもので、Rails向けintegrationはrspec-railsとして別repo・gemです。Rails appではframework integrationのversion互換性も別途確認します。

出典:[2]

参考にした公式資料

  1. [1]rspec/rspec repository(2026-09-30)
  2. [2]RSpec monorepo README(2026-09-30)
  3. [3]RSpec Core gemspec(2026-09-30)
  4. [4]RSpec Core changelog(2026-09-30)
  5. [5]RSpec Mocks changelog(2026-09-30)
  6. [6]RSpec MIT license(2026-09-30)
編集部からの補足

RSpec本体はrunner・matcher・mockを分離しつつ、通常のrspec gemではまとめて導入できます。現在のmonorepo mainは4.0 betaなので、既存projectではstable 3.13系とbetaの差を意識してversionを固定するのが安全です。

3ステップで試す

  1. 1

    RSpec 3.13系を追加

    main branchは4.0 beta系のため、stable利用では3.13系へversion範囲を固定します。

    gem install rspec -v '~> 3.13'
  2. 2

    最小specを作成

    spec/calculator_spec.rbなどへexampleとexpectationを記述します。

    RSpec.describe Calculator do it "adds numbers" do expect(1 + 2).to eq(3) end end
  3. 3

    specを実行

    RSpec runnerで対象specを実行し、exampleとfailureの出力を確認します。

    rspec spec/calculator_spec.rb
公式READMEで確認

成長

成長の推移 · 直近30日

117 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
117
Forks
53
Watchers
8
Open Issues
170
所有者種別
Organization
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/09/03

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?