2

Rails 3 アプリで自分の sessions_controller を rspec でテストしようとしていますが、自分で rspec を実行すると、このエラーが発生し続けますsessions_controller_spec.rb:

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

他に提供できる情報がある場合は、お知らせください。どうもありがとう!

4

1 に答える 1

4
post 'session' => 'session#create'

ルート定義は を探してSessionControllerいますが、 を定義していますSessionsController。ルートを修正します。

post 'session' => 'sessions#create'
于 2012-12-07T15:03:24.463 に答える