酒と泪とRubyとRailsと

Ruby on Rails と Objective-C は酒の肴です!

RSpecの標準matchers(マッチャー)一覧

Where?

rspecの標準マッチャー(matcher)の一覧を作ってみました。できるだけ一覧を見やすくして、開発の手助けになることを目指しています。


RSpecって何?

RSpecのベーシックな情報は以下がおすすめです。

マッチャー一覧

マッチャー not 意味・機能
== expected actual == expected
=~ /expression/ actual =~ /expression/
be > expected actual > expected
be >= expected actual >= expected
be <= expected actual <= expected
be < expected actual < expected
be(expected) actual.equal?(expected)
be_a_kind_of(expected) actual.instance_of?(expected)[そのクラスがインスタンスか]
be_an_instance_of(expected) actual.instance_of?(expected)
be_close(expected, delta) actual == expected +/- delta
be_false actualが nil or false のどちらかか?
be_nil actualが nil か?
be_true actual が nil でなくかつ false でないか?
be_within(delta).of(expected) actual == expected +/- delta
be_xxx actual.xxx?
cover(expected) actual.cover?(expected) [expected がactualの範囲内に含まれているか] 例: (1..10).should cover(3) #=> pass 注: (Ruby >= 1.9 only)
end_with(expected) actual.end_with?(expected)
eq(expected) actual == expected
eql(expected) actual.eql?(expected) eql?の定義
equal(expected) actual.equal?(expected) equal?の定義
expect { … }.to raise_error
(ErrorClass=nil, msg=nil)
ErrorClass、文字列msgの例外を発生させる
expect { … }.to throw_symbol
(:symbol, :arg)
:symbol, 引数がargのsymbolがthrowされる
have_xxx(:arg) actual.has_xxx?(:arg)
include(expected) actual.include?(expected)
match(/expression/) actual =~ /expression/
start_with(expected) actual.start_with?(expected)

今回yieldingは省略しました。yielding については公式リファレンスをご参照下さい。

rails-rspecのマッチャ一覧と便利機能

rails-rspecのマッチャ一覧と便利機能の紹介は、拙作のrails-rspecのマッチャ(matchers)、便利機能の解説をご参照下さい!

便利なshoulda-matchersのマッチャ一覧

便利なshoulda-matchersのマッチャ一覧の紹介は、拙作のRSpecがさらに捗る shoulda-matchers のマッチャ 一覧をご参照下さい!

公式リファレンス

RSpec Expectations - 公式リファレンス

Special Thanks

RSpecの標準Matcher一覧表

File: README — Documentation for rspec-expectations (2.12.0)

変更来歴

12/03 10:00 coverの重複と意味・機能が間違っていたので修正
01/16 23:10 rails-rspecとshoulda-matchersのマッチャ一覧の紹介を追加

押さえておきたい書籍

いかがだったでしょうか?
もし説明がわかりにくかったり、間違っている場所があればぜひ一言!

Comments