RunTimeError: ActionController::RackDelegation в rspec 2.10.1 для контроллера приложения rails 3.1.4

В нашем приложении rails 3.1.4 rspecиспользуется для тестирования общедоступного метода require_signinв контроллере приложения. Вот метод require_signin:

  def require_signin
    if !signed_in?  
      flash.now.alert = "Log in first!"
      redirect_to signin_path
    end
  end  

Вот код rspec:

it "should invoke require_signin for those without login" do
  controller.send(:require_signin)
  controller {should redirect_to signin_path}  
end

Приведенный выше rspecгенерирует гигантскую многостраничную ошибку, начинающуюся, как показано ниже:

RuntimeError:←[0m
       ←[31mActionController::RackDelegation#status= delegated to @_response.status=, but @_response is nil: #<ApplicationController:0x3
a67f10 @_routes=nil, @_action_has_layout=true, @_view_context_class=nil, @_headers={"Content-Type"=>"text/html"}, @_status=200, @_reques
t=#<ActionController::TestRequest:0x3a68720 @env={"rack.version"=>[1, 1], "rack.input"=>#<StringIO:0x34fad60>, ........

Что может быть не так с кодом rspec? Большое спасибо.

8
задан tekknolagi 13 July 2012 в 19:55
поделиться