[英]Functional tests with specific route in rails
在我的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
如何在测试中指定/ things /:id / data需要用于匹配数据#get?
尝试这个
test "should get last data of thing" do
get :get, id => "ID OF YOUR THING"
assert_response :success
end
data
是一个member_action,因此您需要提供资源的ID(在您的情况下)
想知道大声,如果你改变get
来show
,它的工作原理? 如果是这样,我担心覆盖类似动词名称的方法名称会搞砸。 除此之外,你的路线测试说什么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.