[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.

Regards,
Ken
-------------- 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