On Tuesday, April 17, 2012 at 2:30 PM, Nasir Jamal wrote:
> 
> Hi
> 
> We have just upgraded our Rails 2.3.11 app to Rails 3.0.0 and Rspec 1.3.2 to 
> 2.6. We are having two problems with rspec currently and any help would be 
> great.
> 
> 1) We have some controller macros where we have been using the controller 
> object, session hash, response, etc. in different methods for e.g.
> 
> module ControllerMacros
>   def imaginary_method_with_example_calls
>      # in actual code different methods call one of the below, this is just 
> an example of things not working
>     controller.stubs(:method)
>     controller.class.skip_before_filter(:name)
>     session[:user_id] = user.id
>     response.something
>   end
> end
> 
> But now after upgrading to Rspec 2.6 they do not work and calling controller 
> just returns nil and hence undefined method 'skip_before_filter' for NilClass 
> error. I did google but found nothing regarding this.
Is imaginary_method_with_example_calls called in a config.before hook? If so, 
the issue is that controller is nil [1]. This has been fixed on master, but not 
yet released (look for the 2.10 release in the next couple of weeks.

> 2) Changing 'request.request_uri' to 'request.full_path' raises the following 
> error when running rspec
> NoMethodError:
>        undefined method `full_path' for 
> #<ActionController::TestRequest:0x1bfa46f8>
I'd check the rails docs for this one. I'm not immediately familiar w/ what's 
going on.

HTH,
David

[1] https://github.com/rspec/rspec-rails/issues/391
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to