[rspec-users] 'Missing template' when using send_data to render response
Chris Mear
chrismear at gmail.com
Mon Mar 16 10:23:11 EDT 2009
On 16 Mar 2009, at 13:28, David Chelimsky wrote:
> 2009/3/16 Chris Mear <chrismear at gmail.com>:
>> Hi there,
>> Just upgraded to Rails 2.3/RSpec 1.2.0, and I've got a controller
>> that uses
>> send_data to render a response. In the controller spec, I have:
>> controller.should_receive(:send_data).with(...)
>> The send_data method calls 'render' internally, but obviously when I
>> stub/mock out the send_data method this doesn't get called. So,
>> with the
>> changes to controller/template isolation in 1.2.0, I now get a
>> 'missing
>> template' error on this example as the controller tries to render the
>> default template.
>> Any suggestions to the best way to resolve this? My hunch is that
>> it'll need
>> an extension to RenderObserver in rspec-rails, but I'm struggling
>> to do the
>> right thing in my first foray into the RSpec source. Or maybe I
>> shouldn't be
>> mocking the send_data call at all, but rather then underlying
>> render call?
>
> How about controller.stub!(:render) also? You want
> should_receive(:send_data) because that's the spec, right?
Oh, of course! That works beautifully. Too much overthinking on my part.
Cheers,
Chris
More information about the rspec-users
mailing list