Я пишу плагин, который изменяет маршруты Rails, и я хотел написать тест RSpec, который бы проверял, что если я напишу произвольный маршрут, он будет добавлен в Rails. Тест на https://github.com/carpeliam/governor/blob/master/spec/action_dispatch/routing/mapper_spec.rb#L23. Соответствующая строка:
{:get => "/articles/#{@article.id}/foos"}.should route_to(:controller => 'foos', :action => 'show', :governor_mapping => :articles)
Это не работает с No route matches "/articles/1/foos"
, но (1) я только что проверил две строки выше, что в Rails.application.routes есть маршрут articles_foos
, и (2) даже если спецификация не прошла, код работает в дикой природе, так что я знаю, что тест либо неправильный, или, скорее, я не тестирую его должным образом.
Как мне исправить мой тест, чтобы он прошел?