Trace Rspec在控制器操作规范中获取请求路由

时间:2012-03-28 21:18:02

标签: ruby-on-rails rspec controller request

我正在尝试在模块化控制器中测试一个简单的控制器动作。但是,我的get :index请求返回404而不是200响应。有没有办法跟踪此get请求的路由?

require "spec_helper"

describe Admin::WidgetsController do
  describe "GET index" do
    it "has a 200 status code" do
      get :index
      response.code.should eq("200")
    end
  end
end

控制器看起来像您期望的那样:

class Admin::WidgetsController < Admin::ApplicationController
  respond_to :html, :xml, :json
  def index
    respond_with(@content = "content")
  end
end

1 个答案:

答案 0 :(得分:0)

听起来你的路由有问题。在控制台上,您可以运行此选项以查看应用可以使用的路线:

       $> rake routes

我非常确定以下内容,如果失败,将向您显示重定向到

的内容
describe Admin::WidgetsController do
  describe "GET index" do
    it "has a 200 status code" do
      get :index
      response.should redirect_to(:action => 'other_action')
    end
  end
end

您可以查看以下链接以获取更多信息:

http://guides.rubyonrails.org/routing.html

http://old.rspec.info/rails/writing/controllers.html