ルートパス(/
)を要求すると、ベータコントローラーの:new
アクションにルーティングされることをテストしようとしています。これを手動で(ブラウザで)行うと、正常に機能します。しかし、私の自動テストはで失敗していNo route matches "/"
ます。
config/routes.rb
私は持っています
MyRailsApp::Application.routes.draw do
root to: 'beta#new' # Previously: `redirect('/beta/join')`
end
私のspec/routing/root_route_spec.rb
中で私は試しました
require 'spec_helper'
describe "the root route" do
it "should route to beta signups" do
get('/').should route_to(controller: :beta, action: :new)
end
end
そしてまた試した
require 'spec_helper'
describe "the root route" do
it "should route to beta signups" do
assert_routing({ method: :get, path: '/' }, { controller: :beta, action: :new })
end
end
しかし、両方ともそれを不平を言うNo route matches "/"
1) the root route should route to the beta signups
Failure/Error: get('/').should route_to "beta#new"
No route matches "/"
# ./spec/routing/root_route_spec.rb:5:in `block (2 levels) in <top (required)>'
ブラウザでに移動するlocalhost:3000
と、アクションに正しくルーティングされBetaController::new
ます。
No route matches "/"
エラーの説明は何ですか?
Rails3.1.3とRSpec-2.10を使用しています。
ありがとう!