On 7 Mar 2012, at 11:39, Morten Møller Riis wrote:

> On Mar 7, 2012, at 8:22 AM, Matt Wynne 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?
>> 
>> cheers,
>> Matt

> How about this?
> 
> thing.do_stuff(&:to_s).should == expected

Yes, that's a neat hack, but I'd prefer to be able to assert on the actual 
yielded value, instead of the result of calling an arbitrary method on it.

Doesn't anyone else do this?

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