[rspec-devel] should_yield (is it needed?)

Martin Emde martin.emde at gmail.com
Sat Nov 7 01:43:42 EST 2009


I have the code working for this but I wanted an opinion on making a patch.

I sometimes have the need to expect that a method will yield a block it's
given. Usually this means something like this:

    yielded = false
    subject.method { yielded = true }
    yielded.should == true

which is a bit tedious and ugly. My solution might be just as ugly, but I
wanted to get feedback because it saves that tedious code.

    subject.method(&should_yield)

I wrote a few methods, that when called, return an object with #to_proc that
expects that the proc is called (or not called). I have the following forms
available fairly simply:

    subject.method(&should_not_yield)
    subject.method(&should_yield_with(object))

    # Expects 3 yields, one with each argument
    [1,2,3].each(&should_yield_each(1,2,3))

I think this is a little cleaner and the code is very simple. I wanted to
get an opinion on whether this is worth making into a patch.

Martin Emde
Tw: @martinemde
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-devel/attachments/20091106/e2b1c101/attachment.html>


More information about the rspec-devel mailing list