From: David Chelimsky Date: 2007-04-17T08:19:01+09:00 Subject: Re: Verifying that RSpec mock object methods are called with a block. On 4/16/07, Peter Havens wrote: > In RSpec, is there a way to verify that a mock object method was > called with a block? For example, something like this: > > context "A mock object method" do > specify "should verify that it was called with a block" do > m = mock( "mock object" ) > m.should_receive( :test_method ).with( :block ) > m.test_method { :test_result } > end > end Officially, no. However we're in mid-stream towards supporting something like this for 0.9 (currently available as a beta gem from . Basically, anything you can say after "should " or "should_not " you can pass to #with on a mock. So, in this case, because you can say: obj.should be_an_instance_of(Proc) you can also say: m.should_receive( :test_method ).with(be_an_instance_of(Proc)) We haven't worked out the details of how we'll support this using different names just yet, so for now you have to either use this basically un-readable option (that works) or wrap it yourself in something more pleasant. Sooner or later we'll support this officially w/ nicer, more readable names. Hope this helps in the mean time. Cheers, David > > Thanks, > Pete > > >