在轨

2013-03-19 33 views
0

在我的config/routes.rb中特定路由功能测试,我创建了一个特定的路线瞄准数据控制器:在轨

match '/things/:id/data' => 'data#get', :via => :get 

当我建立了一个功能测试,我得到了以下错误:

ActionController::RoutingError: No route matches {:controller=>"data", :action=>"get"} 

我的测试是:

require 'test_helper' 

class ActionController::TestCase 
    include Devise::TestHelpers 
end 

class DataControllerTest < ActionController::TestCase 
    setup do 
    sign_in users(:one) 
    end 

    test "should get last data of thing" do 
    get :get 
    assert_response :success 
    end 

end 

我怎样才能在测试指定/事/:需要ID /数据使用匹配数据#获取?

回答

2

试试这个

test "should get last data of thing" do 
    get :get, id => "ID OF YOUR THING" 
    assert_response :success 
end 

data是member_action,所以你需要提供资源(你的情况嘛)

+0

它更进了一步你的方法的ID,但我现在有以下错误:预期响应为<:success>,但是<406> – Luc 2013-03-19 10:36:55

+0

您能发布'rake routes | grep“data”' – Naveed 2013-03-19 10:39:04

+0

btw路由问题已解决,它的规范没有得到预期的结果:) – Naveed 2013-03-19 10:40:57

0

想知道,如果你改变getshow,它工作吗?如果是这样,我担心覆盖类似动词名称的方法名称会让事情变得糟糕。除此之外,你的路线测试说什么?