空気ねこにもたぶん分かる RSpec

空気ねこはエレメンタルの青パーマネントで飛行を持ってると思われる。
消費マナは多分 (2)(B) でパワー/タフネスは 2/3 か 3/2 だと思われる。

この記事は RSpec のドキュメントを読んで学んだことを自分用にまとめたものなので、他の人にはあんまり役には立たないかもしれないかもしれないかもしれない。
ということで、RSpec のインストールの仕方を最初に書いておくと思ったが、参考にしたかもしれないリンクを最初に置いておく。

参考にしたかもしれないリンク

RSpec のインストールの仕方

私は開発用というか、書き捨てプロジェクトを ~/workspace に置いているんだけれども、そこに RSpec 使うようのフォルダ rb-hello-rspec を作成することにする。

% cd ~/workspace
% mkdir ./rb-hello-rspec
% cd ./rb-hello-rspec

すごくどうでもいいと思うんだけれども、rbrubyhello-rspecRSpec こんにちはの意味を込めてなんか学ぶ用のフォルダにはそんな風につけている。

% emacsclient ./Gemfile

そんで Gemfile になんか書く:

source 'https://rubygems.org'

gem 'rspec'

Gemfile のことはここでは端折るけども、次は bundle install する。

% bundle install

うまくいくと、Gemfile.lock ができる。

% ls
Gemfile  Gemfile.lock

うまくいっていると、rspec できるので、 rspec --init する。

% rspec --init

そーすると、こげん感じになる:

% ls -AR
.:
.rspec  Gemfile  Gemfile.lock  spec/

./spec:
spec_helper.rb

スペックファイル((RSpec におけるテストケースとかテストスクリプト的なファイル))は ./spec/ の中に書くことになる(多分)。

スペックファイルを書く

ということでスペックファイルを書いてみる。

% emacs-client ./spec/be_spec.rb

be matchers の例を見ながら書いてみた:

describe 'be_truthy matcher' do

  it 'be_truthy matcher' do
    expect( true ).to be_truthy
    expect( 7 ).to be_truthy
    expect( 'foo' ).to be_truthy

    expect( nil ).not_to be_truthy
    expect( false ).not_to be_truthy
  end

end

テストるには rspec って打つとよさげ。

% rspec
.

Finished in 0.05764 seconds (files took 3.99 seconds to load)
1 example, 0 failures

続く!