[rspec-users] What is the best way to verify that yield is called?
Ben Mabey
ben at benmabey.com
Wed Apr 9 01:29:50 EDT 2008
Hello all,
What is the best way to verify that a method yields a block that is
passed in?
Before I added any 'yield' to my method I created this spec:
it "should yield a message_delivery object" do
create_message_in_factory do |message_delivery|
message_delivery.should be_instance_of(MessageDelivery)
end
end
This passed without me modifying my method which is not what I was
hoping for. So I tried this spec and it gave me red:
it "should yield the given block" do
@block_yieled = false
create_message_in_factory do |message_delivery|
@block_yieled = true
end
@block_yieled.should be_true
end
Seems kinda hackish, but it did work. Is this the best way to spec this
or is there already a matcher for this?
If there isn't currently a matcher would be the above way be a good way
to create a custom matcher?
Thanks for your thoughts,
Ben
More information about the rspec-users
mailing list