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
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to