Ruby(非Rails)でさらっとRspecを使い始めるための手順

を読んでいたら、Minitestでテストを書く箇所が出てくる。

よし、ここでさらっとRSpec使ってやろうと決意するも、
Rails環境でRSpec導入したことがなかったので、 ちょっと迷いつつもやってみた。

備忘録として手順を残す。

準備

ひとまずテスト対象のファイルを用意する。

例えば ./lib/test.rb

中身はこんな感じ。 受け取ったものを表示するだけの適当メソッド

class Test
  def self.test(param)
    param
  end
end

bundle で RSpecをInstall

bundle init でGemfileを作成。

Gemfile内で、gem "rspec"などと記載しつつ、 bundleコマンドを実行

rspec --init

rspec --initコマンドを実行して、必要なファイルを生成

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

specファイルを作成

./spec下にspecファイルを作成する

テスト対象をrequireしておくことに注意

require 'spec_helper'
require './lib/convert_hash_syntax'

describe Test do
  it { expect(Test.test('params')).to eq "params" }
end

テストを実行

rspecコマンドでテストを実行

$ rspec
.

Finished in 0.00243 seconds (files took 0.09276 seconds to load)
1 example, 0 failures

とりあえずRSpecでテスト成功!!!

疑問点

RSpec利用する際は、テスト対象がclassの形にしていないとうまく行かなかった。

"プロを目指す人のためのruby入門"の記載上は、
Minitestだと、メソッドだけ記載した.rbファイルでも、 テスト対象にできてるっぽい。

RSpecで同じことをやるためにはどうすればいいのか。。。?
まぁあまり重要ではないので、保留する。