Создаются ли @routes после "before (: all)" и перед "before (: each)"? - PullRequest
1 голос
/ 27 июля 2011

В проекте rails, когда я пишу спецификацию какого-то контроллера, как это:

describe "POST 'create'" do
context "valid user" do
    before(:all) {
  @user_attributes = Factory.attributes_for(:user)
  @user = Factory(:user, @user_attributes)
  post :create, :user=>@user_attributes
}
specify { flash[:notice].should eq("Welcome")}
specify { response.should redirect_to(:action=> :index) }
end
end

Я получил несколько ошибок вроде этого:

Ошибка / Ошибка: post: create,: user => @ user_attributes

RuntimeError:

@ router is nil: убедитесь, что вы установили его в методе настройки вашего теста.

# ./spec/controllers/sessions_controller_spec.rb: 22 * ​​1013 *

# ./magazine_slave.rb:22:in `run '# magazine_slave_provider.rb: 17

Когда я изменяю до (: все) на до (:каждый), тест будет пройден.

Будет ли @routes создаваться после «before (: all)» и перед «before (: each)»

1 Ответ

1 голос
/ 29 апреля 2012

Да, я думаю, что это ответ на другой вопрос . Из разговора здесь похоже, что может быть исправление.

...