[rspec-users] Asserting on a yield

Ken Chien ken.chien at gmail.com
Wed Mar 7 15:12:43 UTC 2012

Hi Matt,
On Wed, Mar 7, 2012 at 2:22 AM, Matt Wynne <matt at mattwynne.net> wrote:

> Hi all,
> I'm spec'ing a method that yields a value. Right now, I spec it like this:
>     result = nil
>     thing.do_stuff { |value| result = value }
>     result.should == expected
> This feels like too much ceremony. What I want to do is something more
> this:
>    thing.do_stuff.should yield_value(expected)
> Is there anything built into RSpec to let me do this? If not, how do other
> people test yields?
I came across this about a month or two ago.
You can do this:
    thing.should_receive(:do_stuff).and_yield( whatever)

See http://rubydoc.info/gems/rspec-mocks/frames for more details.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20120307/3b39dab9/attachment-0001.html>

More information about the rspec-users mailing list