💎

Rspec マッチャ使い方メモ

2021/04/09に公開

等しい

expect(a).to be(b) # a=b
expect(a).to eq(b) # a=b
expect(a).to eql(b)   # a=b
expect(a).to equal(b) # a=b

比較

expect(a).to be >  b # a は b より大きい
expect(a).to be >= b # a は b 以上
expect(a).to be <= b
expect(a).to be <  b


expect(a).to be_between(minimum, maximum).inclusive  #min < a < max
expect(a).to be_between(minimum, maximum).exclusive #a < min, a > max
expect(a).to match(/正規表現/) #正規表現にマッチする
expect(a).to be_within(delta).of(expected) #a == expected +/- delta
expect(a).to start_with expected #a.start_with?(expected)(先頭一致していれば)
expect(a).to end_with expected #a.end_with?(expected) (後方一致していれば)

型、クラスの比較

expect(a).to be_instance_of(expected) #aと同じクラスか
expect(a).to be_kind_of(expected) #aと型が同じかどうか
expect(a).to respond_to(expected) #aにexpectedというメソッドがあるか

参考

https://relishapp.com/rspec/rspec-expectations/docs/built-in-matchers

Discussion