使用rpec时,我无法弄清楚是什么。
target.should be 5
我知道如何使用它,但它是如何实现的?它是否类似于运算符,即
target.should.send(:be, 5)
我如何实现类似的东西?
答案 0 :(得分:3)
be
是一个返回RSpec匹配器的方法,如a comment above中的d11wtq所述
您可以实现任何其他返回匹配器的方法,但有other, simpler ways来编写匹配器。
RSpec::Matchers.define :be_a_multiple_of do |expected|
match do |actual|
actual % expected == 0
end
end
describe 9 do
it "should be a multiple of 3" do
9.should be_a_multiple_of(3)
end
end