Rspec "No route matches"错误



我正在尝试使用 rspec 在 Rails 3 应用程序中测试我的sessions_controller,但是当我在sessions_controller_spec.rb上运行 rspec 时不断遇到此错误:

ActionController::RoutingError:
   No route matches {:controller=>"sessions", :action=>"create"}

以下是所有相关文件:

routes.rb

match 'event' => 'event#create', via: [:post]
match 'event/agenda' => 'event#agenda', via: [:get]
match 'testLogin' => 'application#test_login', via: [:get]
post 'session' => 'session#create'

sessions_controller.rb

class SessionsController < ApplicationController
  def create
    #MY CODE HERE
  end
end

sessions_controller_spec.rb

require 'spec_helper'
describe SessionsController, :type => :controller do
  describe "POST #create" do
    context "invalid params" do
        it "returns a response with status failed if all required parameters are not passed in" do
            post "create"
            response.body.status.should eq("failed")
       end
    end
  end
end

如果我可以提供任何其他信息来帮助我,请告诉我。 多谢!

post 'session' => 'session#create'

您的路由定义正在查找SessionController,但您已定义SessionsController 。修正您的路线。

post 'session' => 'sessions#create'

相关内容

最新更新