Просто напишите простое сопоставление, и тогда вы сможете указать свои собственные сообщения. Посмотрите на этот код:
def be_even
simple_matcher("an even number") { |given| given % 2 == 0 }
end
describe 2 do
it "should be even" do
3.should be_even
end
end
Поместите этот код в файл с именем so_spec.rb и запустите его так:
spec so_spec.rb -f n -c
Это даст вам следующий вывод:
'2 should be even' FAILED
expected "an even number" but got 3
и вы можете легко увидеть, что "четное число" - это действительно пользовательское сообщение, и оно более информативно, чем ожидалось. Это один из подходов. Тем не менее, rspec достаточно гибок, и вы можете написать свои собственные сопоставления, как сказал BJ Clark, и это даст вам еще большую гибкость. Я использовал как обычные, так и простые сопоставители, и иногда достаточно просто сопоставить. Есть несколько способов выбрать тот, который соответствует вашим потребностям.