RSpecは、Rubyのテストフレームワークです。Ruby on Railsと組み合わせて使用されることが多いため、「Railsのテストフレームワーク」と紹介されることも多いですが、ピュアRubyのみ(Rails未導入)でも使用することができます。
[準備] Gemのインストール
RSpecのgemをインストールします。※Railsのインストールは不要です。
$ gem install rspec
rspec+ファイル名 で実行する
たとえば、以下のRubyファイルがあったとします。
sample.rb
def greeting
"Hello,World!"
end
sample_spec.rb
require "./sample.rb"
describe "greeting" do
it "returns Hello World!" do
expect(greeting).to eq "Hello,World!"
end
end
sample_spec.rbのspecを実行するには、以下のコマンドでOKです。(sample_spec.rbが配置されているディレクトリに移動しておくことを忘れずに!)
$ rspec sample_spec.rb
#=> 実行結果
.
Finished in 0.00628 seconds (files took 0.37104 seconds to load)
1 example, 0 failures
1つのファイルにまとまっていても実行できる
実処理とspecが1つのファイルになっていても実行できます。
sample.rb
# 実処理
def greeting
"Hello,World!"
end
# テストコード
require "./sample.rb"
describe "greeting" do
it "returns Hello World!" do
expect(greeting).to eq "Hello,World!"
end
end
$ rspec sample.rb
#=> 実行結果
.
Finished in 0.00628 seconds (files took 0.37104 seconds to load)
1 example, 0 failures
簡単なプログラムならMinitestを使うのもアリ
RubyにはデフォルトでMinitestというテストフレームワークが備わっています。
MinitestはGemのインストール無しで利用できるので、今回紹介した例のような簡単なRubyプログラムをテストするのであれば、わざわざGemをインストールしないと使えないRSpecを使うメリットはあまりないかもしれません。。。
簡単なRubyプログラムをRSpecでテストする機会は多くないかもしれませんが、ご参考までに。