[rspec-users] session variable not available in global before(:each, :type => :controller)

David Chelimsky dchelimsky at gmail.com
Mon Jan 17 13:06:03 EST 2011


On Fri, Jan 14, 2011 at 4:07 AM, Rob Aldred <Rob.aldred at stardotstar.com> wrote:
> Hi, I'm refactoring some specs, in controller specs I have a before(:each) which sets up things required in the session, wanted to avoid duplication and put the initial setup global for each controller spec
>
> my before filter is...
>
> config.before(:each, :type => :controller) do
>  #...
>  session[:current_user] = @user
>  session[:instance] = @instance
>  #...
> end
>
> @user and @instance are also set in this before(:each) i've just hidden them for readability here
>
> I get the following error when running the controller tests
>
> undefined method `session' for nil:NilClass
> I would expect the global before callbacks to have the same things as the ones in the individual tests but I guess maybe they are loaded before the rails environment has been initialised?

That's correct. I think this is a bug. Please report to
http://github.com/rspec/rspec-rails/issues.

Thx,
David


More information about the rspec-users mailing list