ruby-1.9 と rspec-2 で「RSpec の入門とその一歩先へ」

RSpec の入門とその一歩先へ - t-wadaの日記」は素晴らしいのですけど、ruby-1.8 と rspec-1 が対象です。

ruby-1.9 と rspec-2 では仕様が変更になっているため、そのまま試そうとしても動きません。

  • rspec-2 のライブラリ名とコマンド名は rspec に名称変更されています。
  • ruby-1.9 で相対パスから require するときは、require_relative を使うのが推奨されています。

ふるまい記述ファイルと、コマンド名をちょっと変更するだけで、これらのバージョンの組み合わせでも試すことができるようになります。

message_filter_spec.rb への差分

 require 'rubygems'   # この行不要だが、あっても害はない
+require 'rspec'
-require 'spec'
+require_relative 'message_filter'
-require 'message_filter'

 describe MessageFilter do
   # 内容は同一でかまわない
 end

message_filter.rb は変更不要。

 class MessageFilter
   # 内容は同一でかまわない
 end

コマンド実行

$ rspec -fs message_filter_spec.rb