Forum: Ruby on Rails How to get controller output in functional test

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Commander J. (Guest)
on 2009-03-14 13:25
(Received via mailing list)
Hi,

How do you get the rendered output (sent to the browser) in a controller
functional test?

I searched for this, and tried things like

@content_for_layout
@response.template.content_for_layout
yield
yield :layout

CmdJohnson
Frederick C. (Guest)
on 2009-03-14 14:46
(Received via mailing list)
On Mar 14, 11:24 am, Commander J. <removed_email_address@domain.invalid>
wrote:
> Hi,
>
> How do you get the rendered output (sent to the browser) in a controller
> functional test?

Have a  look at @response.body

Fred
Commander J. (Guest)
on 2009-03-14 15:30
(Received via mailing list)
@response.body is an empty string!
With the debugger, I can find @response.template.content_for_layout but
that's not accessible with a method call.

This is the controller code:

respond_to do |format|
format.html
end

On Sat, Mar 14, 2009 at 1:45 PM, Frederick C. <
Frederick C. (Guest)
on 2009-03-14 16:36
(Received via mailing list)
On Mar 14, 1:29 pm, Commander J. <removed_email_address@domain.invalid>
wrote:
> @response.body is an empty string!

Are you checking this after the call to the controller has been made ?

Fred
Commander J. (Guest)
on 2009-03-14 16:42
(Received via mailing list)
Yes, like this:
get :reload

puts "@response.body: [#{@response.body}]"

Results in:

@response.body: []

On Sat, Mar 14, 2009 at 3:35 PM, Frederick C. <
Frederick C. (Guest)
on 2009-03-14 19:21
(Received via mailing list)
On Mar 14, 2:41 pm, Commander J. <removed_email_address@domain.invalid>
wrote:
> Yes, like this:
> get :reload
>
> puts "@response.body: [#removed_email_address@domain.invalid}]"
>
> Results in:
>
> @response.body: []
>
To me that sounds like the response is actually empty.

Fred
Commander J. (Guest)
on 2009-03-15 14:21
(Received via mailing list)
I found the problem. Goldberg is used to generate the page title, but
generated an error in test mode. A quick fix was to return an empty
layout
in test mode.
On Sat, Mar 14, 2009 at 6:20 PM, Frederick C. <
This topic is locked and can not be replied to.