On 7 Mar 2012, at 15:12, Ken Chien wrote:

> Hi Matt, 
> On Wed, Mar 7, 2012 at 2:22 AM, Matt Wynne <m...@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)

Surely that sets up a mocked collaborator to respond by yielding something, 
doesn't it? That's not what I'm looking for. I want to specify that a method on 
the class I'm testing yields a certain value.

cheers,
Matt

--
Freelance programmer & coach
Author, http://pragprog.com/book/hwcuc/the-cucumber-book
Founder, http://www.relishapp.com/
Twitter, https://twitter.com/mattwynne


_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to