Tengo una prueba de controlador simple, que contiene a.o. el siguiente código:Acelerando la prueba de los controladores rspec: ¿usar antes de que todos fallen?
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
Ahora pensado en una forma muy simple para acelerar esta prueba, y el uso de un before(:all)
en lugar de un before(:each)
. En ese caso, la publicación solo se haría una vez.
así que escribí:
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
Pero cuando me siento los siguientes errores:
RuntimeError:
@routes is nil: make sure you set it in your test's setup method.
Es esto por diseño? ¿Hay alguna forma de eludirlo?
¿Ha encontrado una solución a esto? Me he encontrado con el mismo problema. – ktusznio