Интеграционные тесты веб-сервисов и XHR

Я использую Steak и Capybara для выполнения интеграционных тестов. Я также хотел бы протестировать выходные данные сериализации (веб-сервисы, использующие формат XML и JSON) моих моделей. Проблема в том, что JSON доступен только при использовании HTTP-запроса XML. Так что метод визита Капибары не работает. Также кажется, что у меня нет доступа к методу xhr в моих приемочных тестах (не знаю почему, потому что мне нужен обычный spec_helper.rb в моем accept_helper.rb).

Как вы тестируете веб-сервисы? Используя метод xhr (после того, как он каким-то образом потребовался)? Особый метод с капибарой? Что-то другое?

У меня также есть некоторая пользовательская сериализация (кроме обычной my_object.to_xml). Думаю, лучше это сделать в модельных тестах. Будете ли вы по-прежнему тестировать выходные данные веб-службы этих пользовательских сериализаций?


person Zardoz    schedule 16.11.2010    source источник


Ответы (1)


Вы всегда можете создать «прокси-контроллер», который делает запросы к веб-службе и печатает результат. Очевидно, что он должен быть доступен только в тестовой среде. Затем ваш тест Capybara посещает прокси-сервер и тестирует содержимое страницы.

person Wojtek Kruszewski    schedule 11.11.2011