4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RailsなしでRSpecのspec(テスト)を実行する方法

Posted at

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でテストする機会は多くないかもしれませんが、ご参考までに。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?