[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


More information about the rspec-users mailing list