[rspec-users] View Specs Fail with "protected method render"

David Chelimsky dchelimsky at gmail.com
Thu Apr 19 12:05:37 EDT 2007


On 4/10/07, Jeff Dean <jeff at jefdean.com> wrote:
> I've got rspec and zentest installed as well as the rspec rails plugin, and
> my model/controller specs all pass and work well.  I can't seem to get views
> to work though - 100% of the specs fail with:
>
> NoMethodError in '/users/show.rhtml should render attributes in <p>'
> protected method `render' called for
> #<Spec::Rails::Runner::ViewSpecController:0x3197dfc>
> /Users/jeff/Sites/niche/trunk/vendor/plugins/rspec_on_rails/lib/spec/rails/runner/context/view.rb:102:in
> `render'
> ./spec/views/users/show_rhtml_spec.rb:13:
>
> Note the "protected method `render' called for
> #<Spec::Rails::Runner::ViewSpecController:0x3197dfc>"
>
> Here's an example spec:
>
> require File.dirname(__FILE__) + '/../../spec_helper'
>
> context "/users/new.rhtml" do
>   include UsersHelper
>
>   setup do
>     @errors = mock("errors")
>     @errors.stub!(:count).and_return(0)
>
>     @user = mock_user
>     @user.stub!(:errors).and_return @errors
>     assigns[:user] = @user
>   end
>
>   specify "should render new form" do
>     render "/users/new.rhtml"
>     response.should_have_tag 'form', :attributes =>{:action => users_path,
> :method => 'post'}
>
>   end
> end
>
> Can anyone think of why "render" is protected?  Is this a versioning issue?

It's protected in ActionController::Base in rails >= 1.2.3 (perhaps
before), so Spec::Rails made it protected as well.

You mentioned that you've got zentest installed - what does that have
to do with this problem? RSpec's dependency on ZenTest has been gone
for quite some time now. Are you running specs w/ autotest or
rspec_autotest?


>
> Thanks - Jeff
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>


More information about the rspec-users mailing list