测试命名路径时出现以下错误
1) Failure:
test_settings_route(ProjectsControllerTest) [/test/functional/projects_controller_test.rb:15]:
The generated path <"/projects/1/edit"> did not match <"/projects/1/settings">
这是测试以及我在路线文件中添加的内容
# projects_controller_test.rb
require 'test_helper'
class ProjectsControllerTest < ActionController::TestCase
def test_settings_route
assert_routing '/projects/1/settings', :controller => 'projects', :action => 'edit', :id => '1'
end
# routes.rb
map.settings '/projects/:id/settings', :controller => 'projects', :action => 'edit'
在我的路径文件中使用该条目我的应用程序按预期运行 - 这是在请求/ projects / 1 / settings时呈现项目的编辑模板 - 但我只是不明白如何让我的测试变为绿色。
我也尝试过具有相同结果的shoulda宏
should_route :get, "/projects/1/settings", :controller => 'projects', :action => 'edit', :id => '1'
答案 0 :(得分:0)
我在routes.rb中的命名路线上方map.resources :projects
。将我的命名路线移到顶部修复了我的测试。