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


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


🚜 RSpecって何?

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

🐡 マッチャー一覧

マッチャー not 意味・機能
== expected actual == expected
=~ /expression/ actual =~ /expression/
be > expected actual > expected
be >= expected actual >= expected
be <= expected< td> actual <= expected< td>
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 - 公式リファレンス

🏈 参考リンク

RSpecの標準Matcher一覧表

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

🐞 変更来歴

12/03 10:00 coverの重複と意味・機能が間違っていたので修正

01/16 23:10 rails-RSpecとshoulda-matchersのマッチャ一覧の紹介を追加

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍