[rspec-users] [RSpec] Error when returning multiple values from a stub

Nick Hoffman nick at deadorange.com
Tue Jan 27 11:10:36 EST 2009

On 27/01/2009, at 11:03 AM, Nick Hoffman wrote:
> Hey guys. I've just found some odd behaviour within RSpec 1.1.12 ,  
> and would like to know whether this is a bug, or I'm doing something  
> wrong.
> When I give multiple return values to a stub, like this:
>  SubtitleFile.stub!(:new).and_return @sf1, @sf2
> RSpec complains:
>  Mock 'SubtitleFile_1001' received unexpected message :size with (no  
> args)
> However, if I break that into two stubs, like this:
>  SubtitleFile.stub!(:new).and_return @sf1
>  SubtitleFile.stub!(:new).and_return @sf2
> the spec passes.
> I've posted a more concrete example here:
> http://gist.github.com/53389
> In code pane #2, if I comment line 13 and uncomment lines 14 and 15,  
> the spec passes.
> Any idea what's going on? Thanks for your help,
> Nick

I just realised that breaking
   SubtitleFile.stub!(:new).and_return @sf1, @sf2
into two stubs causes the second call to #stub! to override the first,  
which obviously causes problems, and thus doesn't provide an interim  


More information about the rspec-users mailing list