Наружное тестирование API Rails Rest - PullRequest
1 голос
/ 18 января 2010

Я создаю слой веб-службы REST поверх приложения Rails, которое будет использоваться приложением Iphone. Формат ответа - XML.

Я хотел бы построить некоторые приемочные тесты, которые должны быть внешними по отношению к стеку рельсов (и должны проверять все, включая http-сервер) Тестовые сценарии довольно сложны, включая процесс поиска / публикации / просмотра заказа. Каково было бы лучшее решение для достижения этой цели?

а. Скрипт Ruby, использующий curl / curb для получения запроса и Hpricot для анализа запроса

б. Селен

с. ..

Было бы также неплохо, чтобы эти тесты могли использоваться в качестве интеграционных тестов (следовательно, запускаться при каждом git commit). Какое интеграционное решение вы бы порекомендовали?

а. Целостность

б. CruiseControl

с. что-то еще

Ответы [ 3 ]

1 голос
/ 19 января 2010

За последние несколько лет я использовал три подхода

Active-ресурс

Мне показалось, что это слишком беспокоит то, чтобы выглядеть как active-record было отличным решением. В некоторых случаях мне приходилось исправлять его части для работы, поскольку я хотел бы, чтобы REST-клиент вел себя.


Rest-клиент

Этот драгоценный камень является очень хорошим - хорошо документирован и работает как положено. Я объединил это с моим собственным простым DSL, и это сработало лучше, чем универсальная среда тестирования


XML по HTTP

Я использую это для тестирования производительности. Очень гибкий, но кривая обучения выше, чем у Rest-client. Если вы выберете этот подход, вы можете использовать базовый класс Net :: HTTP или HTTParty gem (я не пробовал, но он выглядит великолепно>

Действительно хороший ресурс - это Net :: HTTP шпаргалка


Для специального тестирования я также нашел надстройку Rest Client для Firefox очень полезной.

1 голос
/ 18 января 2010

Используйте selenium-rc в режиме ruby, и вы станете счастливым туристом.Webrat / Cucumber уже сделал это для вас, так что вы можете просто поместить это во второй проект и запустить тесты таким образом, все, что вам нужно сделать, это переопределить хост (поэтому вместо localhost вы будете использовать свой домен).

Что касается КИ, боюсь, я не знаю лучшего.

0 голосов
/ 21 января 2010

вы не можете иметь в виду целостность mks ... если так, то ответ - любой, но. CC - хороший инструмент CI. действительно хорошо.

...