Как заглушить Active Resource? - PullRequest
2 голосов
/ 28 июля 2011

Мой активный ресурс подключается к какой-то глупой внешней службе, которая по какой-то причине отвечает. Это немного слишком мучительно. Я хотел бы заглушить Active Resource во время разработки, чтобы ускорить мое время разработки.

Это хорошая вещь? Я думаю, что это. Если вы думаете иначе, пожалуйста, объясните.

И есть ли механизм для его заглушения на основе переключателя в файле конфигурации среды, возможно, какой-нибудь гем / плагин, который вы использовали для этой цели?

Что и как вы делаете все это на вашем опыте?

1 Ответ

1 голос
/ 14 августа 2011

Я рекомендую использовать FakeWeb .Я недавно использовал это в проекте, и это позволило мне зарегистрировать несколько внешних URL с предопределенным ответом.В вашей тестовой настройке вы можете сделать:

FakeWeb.register_uri(:get, %r|users.xml|, :body => File.read("spec/factories/xml/users.xml"))

Теперь, когда активный ресурс запрашивает anyhost.com/users.xml (в тестовой среде), вы вместо этого сразу же получаете содержимое файла, на который вы ссылались.Мне нравится этот подход, потому что, когда вы тестируете модель, вам не нужно тестировать и внешнюю службу.Я бы оставил этот уровень тестирования интеграционному тесту.

Это не повлияет на среды разработки или производства, поэтому вы можете использовать свой тупой внешний сервис как обычно.

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