On 12 October 2011 12:09, nathanvda <[email protected]> wrote:

> Nobody?
>
> On Oct 11, 1:05 pm, nathanvda <[email protected]> wrote:
> > I have a simple controller test, containing a.o. the following code:
> >
> >     context "POST :create" do
> >       before (:each) do
> >         post :create, :user_id => @user.id,
> >              :account => { .. some data ... }
> >       end
> >       it { response.status.should == 201 }
> >       it { response.location.should be_present }
> >     end
> >
> > Now I thought of a very simple way to speed up this test, and to use a
> > `before(:all)` instead of a `before(:each)`. In that case the POST
> > would only be done once.
> >
> > So i wrote:
> >
> >     context "POST :create" do
> >       before (:all) do
> >         post :create, :user_id => @user.id,
> >              :account => { .. some data ... }
> >       end
> >       it { response.status.should == 201 }
> >       it { response.location.should be_present }
> >     end
> >
> > But then I get the following errors:
> >
> >      RuntimeError:
> >        @routes is nil: make sure you set it in your test's setup
> > method.
> >
> > Is this by design? Is there a way to circumvent it?
> > _______________________________________________
> > rspec-users mailing list
> > [email protected]://
> rubyforge.org/mailman/listinfo/rspec-users
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>

I'm afraid I can't help with your specific situation, except to say I've
faced weird issues like this with "before(:all)" in the past, and have
generally tried to stay away from it these days.

Also, the largest amount of time is generally involved in actually loading
up rails itself. Can you confirm that there's a significant amount of time
taken to execute your controller action?

Srushti
http://c42.in
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to