rspecのincludeマッチャ
rspecのincludeマッチャ。Hashの場合の挙動はバージョン間で色々と違いがありますね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | require 'rubygems' gem 'rspec', '>= 1.1.12' require 'spec' describe 'includeマッチャ' do before :each do @lang_authors = { :ruby => 'まつもとゆきひろ', :python => 'Guido van Rossum', :perl => 'Larry Wall' } end it 'Hashが指定されたキーを持つか' do # 以下はrspec 1.1.10, 1.1.11 でエラーになる @lang_authors.should include(:ruby) @lang_authors.should include(:python) @lang_authors.should_not include(:vb) end it 'Hashが指定されたキーと値の組み合わせを持つか' do # 以下はrspec 1.1.10より前だと失敗する @lang_authors.should include(:ruby => 'まつもとゆきひろ') @lang_authors.should_not include(:ruby => 'まつもとひろゆき') end it 'その他はinclude?による評価' do @lang_authors[:python].should include('os') @lang_authors.keys.should include(:perl) end end |
参考: