我有/bar/foos
路径指向FoosController
。 G /bar/foos
路由到FoosController#index
,在手动测试时按预期工作。
我继承了一些路由测试,它在Rails 4.2中运行良好,但在更新到Rails 5.0时开始破解。
出于某种原因,RSpec在此规范的id: :foos
中创建了expect(get: '/bar/foos')
参数:
require 'spec_helper'
describe FoosController do
describe 'routing' do
it 'get /bar/foos' do
expect(get: '/bar/foos').to route_to('foos#index')
end
end
end
产生此错误:
The recognized options <{"controller"=>"foos", "action"=>"index", "id"=>"foos"}>
did not match <{"controller"=>"foos", "action"=>"index"}>, difference:.
--- expected
+++ actual
@@ -1 +1 @@
-{"controller"=>"foos", "action"=>"index"}
+{"controller"=>"foos", "action"=>"index", "id"=>"foos"}
我正在使用Rails 5.0.2和rspec 3.6.0.beta2。