Ruby on rails 如何测试控制器

Ruby on rails 如何测试控制器,ruby-on-rails,rspec,refinery,Ruby On Rails,Rspec,Refinery,我已经覆盖了Refinery的会话控制器,甚至还没有修改它,因为我正试图为它编写一些规范 控制器位于app/controllers/refinery/sessions\u控制器中: module Refinery class SessionsController < Devise::SessionsController .... def create super rescue ::BCrypt::Errors::Inva

我已经覆盖了Refinery的会话控制器,甚至还没有修改它,因为我正试图为它编写一些规范

控制器位于app/controllers/refinery/sessions\u控制器中:

module Refinery
  class SessionsController < Devise::SessionsController
  ....
  def create                 
      super
      rescue ::BCrypt::Errors::InvalidSalt, ::BCrypt::Errors::InvalidHash
      flash[:error] = t('password_encryption', :scope => 'refinery.users.forgot')
      redirect_to refinery.new_refinery_user_password_path
  end
  ..... 
然而,这给了我一个错误

No route matches {:action=>"create", :controller=>"refinery/sessions"}
这让我感到困惑,因为当我运行rake路由时,我得到以下行:

 refinery_user_session POST    /refinery/users/login(.:format)              refinery/sessions#create
有人能帮忙吗

Rails 3.2.8,炼油厂2.0.8

 refinery_user_session POST    /refinery/users/login(.:format)              refinery/sessions#create