RSpec在索引路由测试中错误地添加了id参数

时间:2017-03-24 15:23:24

标签: ruby-on-rails rspec ruby-on-rails-5 rspec-rails

我有/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。

0 个答案:

没有答案