Может ли rspec обнаруживать изменения маршрута, которые были сделаны ранее (: каждый)? - PullRequest
0 голосов
/ 28 апреля 2011

Я пишу плагин, который изменяет маршруты 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) даже если спецификация не прошла, код работает в дикой природе, так что я знаю, что тест либо неправильный, или, скорее, я не тестирую его должным образом.

Как мне исправить мой тест, чтобы он прошел?

1 Ответ

0 голосов
/ 26 мая 2011

Я действительно говорил об этом с Дэвидом Челимским на RailsConf, и мы проследили проблему до Rack :: Test. Затем Дэвид поговорил с Иегудой Кацем, чтобы узнать, ожидали ли мы то, что мы испытывали, или ошибку, и, как оказалось, Rack :: Test просто не создан для такого рода вещей. В целом, RailsConf был прекрасной возможностью получить ответы на вопросы людей, которые наиболее близко знакомы с кодом. Спасибо Давиду и Иегуде.

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