Как проверить именованные маршруты? - PullRequest
1 голос
/ 14 апреля 2010

Я получаю следующую ошибку при тестировании именованного маршрута

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 - но я просто не понимаю, как сделать мой тест зеленым. *

Я также пробовал макрос musta с тем же результатом

should_route :get, "/projects/1/settings", :controller => 'projects', :action => 'edit', :id => '1'

1 Ответ

0 голосов
/ 04 мая 2010

У меня было map.resources :projects выше моего именованного маршрута в маршрутах. Перемещение моего названного маршрута к вершине исправило мой тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...