今回はRailsを用いず、RubyのみでRSpecを用いる方法について解説したいと思います。RailsアプリケーションでRSpecを利用したことがある方は多いとは思いますが、Rubyのみのアプリケーションで実装したことがある方は意外と少ないのではないでしょうか。
準備
以下のように「rspec-test」フォルダ直下に「test.rb」というファイルを作成しました。この「test.rb」に書かれたコードをRSpecを用いてテストすると仮定します。

セットアップ手順
RubyアプリケーションでRSpecを用いる際のセットアップをまとめると以下の手順になります。
- bundle initでGemfileを生成
- Gemfileに「gem “rspec”」を記述し、bundle install
- RSpec設定ファイルの生成
- spec_helper.rbの有効化
では実際にやっていきましょう。
まずは以下のコマンドを打ち込み、Gemfileを新たに生成しましょう。
% bundle init

作成されたGemfileに以下の記述を追記し、bundle installを実行します。
gem "rspec"
% bundle install
続いてRSpecの設定ファイルを生成しましょう。以下のコマンドを打ち込むことで「.rspec」と「spec/spec_helper.rb」の2ファイルが生成されます。
% bundle exec rspec --init

先ほど生成した「spec/spec_helper.rb」に書かれてある「=begin」と「=end」を削除し、spec_helper.rbを有効化しましょう。
# 省略
# The settings below are suggested to provide a good initial experience
# with RSpec, but feel free to customize to your heart's content.
=begin ←削除
# This allows you to limit a spec run to individual examples or groups
# 省略
# Seed global randomization in this process using the `--seed` CLI option.
# Setting this allows you to use `--seed` to deterministically reproduce
# test failures related to randomization by passing the same `--seed` value
# as the one that triggered the failure.
Kernel.srand config.seed
=end ←削除
end
ここまでの作業で、RubyアプリケーションでRSpecを用いるためのセットアップが完了しました。
テストの実行手順
では実際にテストを実行してみましょう。
当たり前と言えば当たり前のことですが、今回は1000の半分は500になることを確かめるテストを実装してみます。
まずは「test_spec.rb」をspecフォルダ直下、「test.rb」をlibフォルダ直下に配置しましょう。libフォルダはrspec-testフォルダ直下に新たに作成してください。

「test.rb」に以下のコードを貼り付けます。
class Calculate
def initialize(num)
@num = num
end
def half_num
@num / 2
end
end
「spec/test_spec.rb」には以下のコードを貼り付けます。
require_relative '../lib/test'
RSpec.describe Calculate do
it '1000の半分は500になる' do
calculate = Calculate.new(1000)
expect(calculate.half_num).to eq 500
end
end

ではこのテストファイルを実行してみましょう。テストの実行コマンドは「% bundle exec rspec」になります。
% bundle exec rspec
Randomized with seed 3794
Calculate
1000の半分は500になる
Top 1 slowest examples (0.0018 seconds, 18.7% of total time):
Calculate 1000の半分は500になる
0.0018 seconds ./spec/test_spec.rb:4
Finished in 0.00962 seconds (files took 0.21502 seconds to load)
1 example, 0 failures
Randomized with seed 3794
上記のようにテストがパスすれば成功です。
まとめ
RubyアプリケーションでRSpecを用いるための手順を改めてまとめると、以下の順になります。
- bundle initでGemfileを生成
- Gemfileに「gem “rspec”」を記述し、bundle install
- RSpec設定ファイルの生成
- spec_helper.rbの有効化
参考
今回はRailsを用いず、RubyのみでRSpecを用いる方法について解説しました。RubyアプリケーションでRSpecをセットアップしたことがない方はぜひチャレンジしてみてください。