如何创建以下 RSpec 匹配器?
foo.bars.should incude_at_least_one {|bar| bar.id == 42 }
如果我正在重新发明轮子,请告诉我,但我也很想知道如何创建一个带块的自定义匹配器。一些内置的匹配器可以做到这一点,所以这是可能的。我试过这个:
RSpec::Matchers.define :incude_at_least_one do |expected|
match do |actual|
actual.each do |item|
return true if yield(item)
end
false
end
end
我也尝试过&block
在两个级别上通过。我错过了一些简单的东西。