2013-09-06 2 views
2

В настоящий момент я работаю над обновлением с Rails 2.3.smthn до Rails 3.0. Приложение имеет 200 маршрутов и, прежде чем переписывать маршруты с использованием нового API-интерфейса маршрутизатора, я хочу написать (RSpec) тесты для маршрутов.Обновление Rails 3: генерировать тесты маршрутизации

Поскольку существует много маршрутов, и написание покрытия для них было бы большим количеством «грубой работы», мне было интересно, есть ли способ генерировать тесты для этих маршрутов?

ответ

0

Коллега моя, и я написал камень, который генерирует спецификации маршрута для каждого маршрута в приложении Rails, вы можете увидеть источник и получить его here.

0

Я хотел бы использовать rake routes в список текущих маршрутов затем написать небольшую программу на Ruby, чтобы разобрать каждую строку и создавать тесты, которые вы хотите, в виде:

expect(:get => "/articles/2012/11/when-to-use-routing-specs").to route_to(
    :controller => "articles", 
    :month => "2012-11", 
    :slug => "when-to-use-routing-specs" 
) 

, как описано в https://www.relishapp.com/rspec/rspec-rails/docs/routing-specs

I Однако не знаю, как тестировать именованные маршруты, или как проверить, что есть , не определены другие маршруты. Вы можете дополнить это тестом, который сравнивает предыдущий вывод rake routes с текущим выходом rake routes.

+0

Да, я подумывал написать небольшую программу Ruby, которая будет анализировать выходные данные «rake routes» и генерировать спецификацию для каждого маршрута. Мне было любопытно, если кто-то выяснил способ сделать это через скрипт и/или драгоценный камень. Если я не получу многообещающий ответ на выходные, я думаю, что начну писать парсер. –

Смежные вопросы