Rspec没有找到存在的路线

时间:2016-10-11 22:21:08

标签: ruby-on-rails ruby ruby-on-rails-3 rspec routing

我正在尝试编写控制器测试,而Rspec没有找到我知道存在的路由并且在开发服务器上正常工作。

在我的路线中,我有一条全能路线,如果有人前往未预定义的路线,则应重新定向到通用控制器。

的routes.rb

function tail(list) {
  return list.splice(-1, 1)
}


function request(urls, param) {
  if (urls.length <= 0) return param;
  return Rx.DOM.ajax({
    url: urls[0] + '?param=' + param,
    responseType: 'json'
  })
    .map(data => data.response.xyz)
    .flatMap(response => request(tail(urls), response));
}


request(["http://example.org/foo", "http://example.org/bar", "..."], 0)
  .subscribe(...)

generic_controller.rb

namespace :tools do
  match '*unmatchedpath' => "generic#show", :via => :get
end

generic_controller_spec.rb

def show
  # do stuff
end

这是我在运行上面的测试时从rspec获得的错误

require 'spec_helper'

describe Tools::GenericController do

describe 'GET show' do 
  it 'does stuff' do
    get :show
  end
end

所有路由在我的开发服务器上按预期工作,所以我不确定为什么Rspec没有找到路由。

1 个答案:

答案 0 :(得分:1)

尝试:

 get '*unmatchedpath' => 'tools/generic#show'