RubyプログラミングでRSpecを使う

Railsではなく純粋なRubyプログラムでRSpecを使ったテストできるように導入までの手順を残しておきます。


環境

ruby: 2.7.0
rspec: 3.9.0

RSpecをインストール

RSpecをインストールする。このとき依存関係のあるGemも同時にインストールされる。

$ gem install rspec
# ...省略
Done installing documentation for rspec-support, rspec-core, diff-lcs, rspec-expectations, rspec-mocks, rspec after 3 seconds
6 gems installed

インストールされたRSpec関連のGem
以下6つのGemがインストールされる。

rspec-support
rspec-core
diff-lcs
rspec-expectations
rspec-mocks
rspec

RSpec —init

インストール後に初期化して初期ファイルを作成。

$ rspec --init
  create   .rspec
  create   spec/spec_helper.rb

.rspec

rspecコマンドのオプションを記述する設定ファイルになっている。
.rspecに記述されているオプションをコマンドの実行時に自動付与される。

.rspec

--require spec_helper
--format documentation

--format documentationとすることでテストの実行結果がドキュメント形式で出力され見やすくなる。

その他のオプションは次のコマンドで確認できます。

$ rspec --help

テスト実際に書いてみる

RSpecが正常に動作するかをテストを書いて確認してみます

specファイルを作成

touch spec/sample_spec.rb

次の内容は後で作成するaddメソッドが4を返すことを期待するテストです。

require './sample'

RSpec.describe do
  it '4であること' do
    expect(add).to eq 4
  end
end

addメソッドを作成する。

$ touch sample.rb

まずは単純に4だけを返すメソッドを作成します。

def add
  4
end

テストを実行してみます。

$ rspec

4であること

Finished in 0.00272 seconds (files took 0.19695 seconds to load)
1 example, 0 failures

テストがパスしました。
これでRubyプログラムでRSpecを使ったテストを導入することができました。


Written by@Ryutaro
日々学習した技術系のアウトプットをしていきます。学習内容: Ruby, Ruby on Rails, Go, TypeScript, Docker

GitHub