[rspec-users] Is testing output within content_for possible?

Ben Mabey ben at benmabey.com
Sat Apr 19 22:55:35 EDT 2008


Chris Olsen wrote:
> I wanted to test that the links below were being rendered in the views.
>
> - content_for :sidebar do
>   %ul.links
>     %li= edit_link edit_admin_contact_url(@contact), "Contact"
>
>
> # view test
>     it "should have the correct side bar links" do
>       do_render
>       response.should have_tag("ul.links") do
>         with_tag("a[href=?]", edit_admin_account_url(accounts(:test)))
>       end
>     end
>
> The above doesn't work.  Just to make sure my tests weren't the issue I
> removed the content_for block and the tests then passed.
>
> Is there something extra that has to be done to get the content_for
> contents to be rendered?
>
> Thanks for the help.
>   

Hey Chris,
AFAIK you can't test content_for's in the view specs.  Someone may want 
to correct me on that.

I usually test content_for stuff in my stories.  If your not using 
stories then you could try integrating the views on certain controller 
specs and testing it there.

Not the answer you were probably looking for, but I hope that helps.

-Ben


More information about the rspec-users mailing list