環境控制器:Rails的3.2.12,rspec的2.12「無路由匹配」的路線錯誤,而不在軌/ rspec的
我試圖引導一個應用程序使用非常簡單的路由測試。測試失敗了,我看不出有什麼問題。
這裏是一個失敗的試驗:
# spec/routing/meow_route_spec.rb
require 'spec_helper'
describe "meow routes" do
it "routes post /meows to meows#create" do
expect(:post => "/meows").to route_to(
:controller => "meows",
:action => "create",
)
end
end
我的路線:
# config/routes.rb
Meowserver::Application.routes.draw do
resources :meows
end
rake routes
告訴我:
polk:meowserver dpassage$ rake routes
meows GET /meows(.:format) meows#index
POST /meows(.:format) meows#create
new_meow GET /meows/new(.:format) meows#new
edit_meow GET /meows/:id/edit(.:format) meows#edit
meow GET /meows/:id(.:format) meows#show
PUT /meows/:id(.:format) meows#update
DELETE /meows/:id(.:format) meows#destroy
但是當我運行rspec的,我得到這個錯誤:
1) meow routes routes post /meows to meows#create
Failure/Error: expect(:post => "/meows").to route_to(
No route matches "/meows"
# ./spec/routing/meow_route_spec.rb:4:in `block (2 levels) in <top (required)>'
這到底是怎麼回事?這些都是我的應用程序迄今爲止唯一的結果文件 - 甚至沒有任何控制器或型號,只是試圖從外部構建它。
你可以嘗試用'create'方法將'meows_controller.rb'添加到'app/controllers /'中嗎?我剛剛測試過移除一個我已經聲明過路由的控制器,並且當你嘗試到達那條路由時確實會拋出路由錯誤。雖然我得到的錯誤是一個「未初始化的常量」錯誤。 – Max 2013-02-21 22:16:15
這就是我期望得到的那種錯誤!獲得「無路線匹配」錯誤只會導致您錯誤的路徑。 – dpassage 2013-02-21 22:19:52