Рельсы Поддельные Маршрут - PullRequest
       12

Рельсы Поддельные Маршрут

1 голос
/ 10 августа 2010

Если быть точным, я пытаюсь заставить ActionController::Routing::Routes.recognize_path распознать маршрут, которого нет в routes.rb, для целей тестирования.

Можно ли каким-то образом смоделировать или динамически добавить маршрут? Я использую Rspec с мокко.

Ответы [ 2 ]

3 голосов
/ 10 августа 2010

Я абсолютно не знаю, сработает ли это, но вы можете поэкспериментировать с чем-то вроде этого:

class ApplicationController < ActionController::Base

  rescue_from ActionView::MissingTemplate do |exception|
    # use exception.path to extract the path information
    ActionController::Routing::Routes.draw do |map|
      # Add your dynamic route using path here and then do a redirect to it
    end
  end

end
0 голосов
/ 10 августа 2010

Драгоценный камень fakeweb в http://github.com/chrisk/fakeweb может соответствовать вашим потребностям.

Как зарегистрировать базовый строковый ответ (из README):

FakeWeb.register_uri(:get, "http://example.com/test1", :body => "Hello World!")

Для проверки:

Net::HTTP.get(URI.parse("http://example.com/test1"))

возвращает "Hello World!"

Net::HTTP.get(URI.parse("http://example.com/test2"))

В этом случае FakeWeb обходится и возвращается ответ от реального запроса

...