Как я могу запустить тесты Ruby автоматически? - PullRequest
1 голос
/ 07 декабря 2010

У меня есть система, которая сильно зависит от различных веб-API.Я хотел бы запускать свои специфичные для API тесты, по крайней мере, один раз в день, чтобы убедиться, что все API по-прежнему работают красиво и живо.У меня есть набор модульных тестов (просто простые rb-файлы, которые проверяют вызовы API для ожидаемых данных), и я хотел бы запускать их каждые 24 часа.Если что-то сломается, я хотел бы принять меры (например, по электронной почте или смс мне).

Как лучше настроить автоматические тесты Ruby и проанализировать результат?Могу ли я просто настроить работу cron для обработки файлов .rb?Как бы я предпринял действие и обнаружил программно, если тесты провалились?Может быть, есть какое-то решение для непрерывной интеграции для RUby, которое справится с этим?

Ответы [ 2 ]

2 голосов
/ 07 декабря 2010

Я только что прошел процесс настройки Hudson CI в качестве сервера интеграции, используя это удивительное руководство от доктора Ник.Он устанавливается через гем, поставляется в значительной степени предварительно настроенным, и работать с ним было чрезвычайно просто.

Я использую rspec и cucumber, и Хадсон запускает все тесты, когда видит новый коммит в моем git-репозитории.Если все тесты пройдены, он сливает код в мою основную ветку.Если какой-либо тест не пройден, он держит своих лошадей и отправляет мне электронное письмо.

РЕДАКТИРОВАТЬ:

Я также хочу дать десять больших пальцев до плагина ChuckNorris для Hudson.Agile не лучше, чем парное программирование с Walker, Texas Ranger.

0 голосов
/ 08 декабря 2010

Ruby имеет Test :: Unit встроенный, RSpec , ZenTest , musta , огурец и, вероятно, еще много инструментов, чтобы помочь проверить. Будучи встроенным, Test :: Unit используется очень часто и является целью, которая будет побита другими инструментами.

ZenTest и RSpec могут проводить непрерывное тестирование: вы вносите изменения и сохраняете файл, и они видят его и запускают набор тестов. Мне это нравится, потому что тогда я сразу узнаю положение вещей.

Я не использовал огурец, но использовал остальное. Я слышал, что акцент огурца сделан на интеграционном тестировании, но это могли быть чувства комментатора, а не дизайн разработчиков. список обучающих программ для огурца интересен для просмотра. В частности, есть webrat: Автоматическое приемочное тестирование с RSpec или Cucumber .

Любой из них может быть связан с cron для периодической работы; Просто относитесь к ним так же, как к любому другому набору приложений командной строки.

В веб-тестировании тоже должно быть легко подключиться, но вам нужно будет определить необходимые гемы / модули и написать код для клея. Мне не нужен был такой зверь, потому что я использовал его, используя Mechanize и / или один из других HTTP-драгоценных камней, а также Nokogiri для обыска страниц.

...