Rails функциональный тест произвольных или пользовательских URL
У меня есть RESTful-ресурс в моем приложении Rails под названием "Фото", Я'м используюСкрепка для бумаг служить разнымстили» из моих фотографий (для миниатюр и тому подобное), и яиспользуя пользовательский маршрут для RESTful доступа к этим стилям:
map.connect "photos/:id/style/*style", :controller => "photos", :action => "show"
Тот'работает нормально, но я хочу написать тест, чтобы убедиться, что он остается таким.
У меня уже есть функциональный тест для вызова фотоконтроллераs show action (фактически сгенерированный скаффолдом):
test "should show photo" do
get :show, :id => photos(:one).to_param
assert_response :success
end
Это проверяет выполнение действия по URL "/ Фото / 1", Теперь я хочу проверить выполнение URL "/ Фото / 1 / стиль / Foo», К сожалению, я могуПохоже, что ActionController :: TestCase ударил этот URL; метод get всегда хочет action / id и победилне принимать суффикс URL.
Как мне пройти тестирование пользовательского URL?
ОбновитьВо время проверки на @fernyb 'Я нашел этот фрагмент втот же RDOC
В тестах вы можете просто передать URL или именованный маршрут, чтобы получить или опубликовать. def send_to_jail get '/ Тюрьма» assert_response: успех assert_template "Тюрьма / передний» конец
Тем не менее, когда я на самом делепытаться что я получаю сообщение об ошибке:
test "should get photo" do
get "/photos/1/style/original"
assert_equal( "image/jpeg", @response.content_type )
end
ActionController::RoutingError: No route matches {:action=>"/photos/1/style/original", :controller=>"photos"}
Интересно, если яЯ делаю что-то не так.