Во-первых, настройка ...
В настоящее время я разрабатываю приложение Rails 3 для Mac OS X с использованием Ruby 1.8.7 MRI, запускаю тесты и локальную разработку для базы данных MySQL.У меня есть 3 «другие» нелокальные среды, которые мы используем в моей компании для каждого приложения, называемые dev, tqa и prod.Они выполняются в Tomcat с использованием JRuby (1.8.7) с Oracle в качестве бэкэнда.
Как видите, среды довольно разные, и мы столкнулись с некоторыми ошибками при развертывании в среде Oracle / JRuby.которые не существуют локально (например, обработка даты и указание схем по умолчанию в Oracle).
Мне нравится запускать что-то вроде Cucumber / Webrat / Capybara локально, чтобы поразить каждый URL, выставленный в приложении, чтобы убедиться, что основной материалработает (то есть, тест дыма).В идеале, он попадает в каждый URL-адрес и выполняет некоторые простые вещи, такие как ввод данных в формы, нажатие на кнопки и т. Д.
В идеале, когда я развертываю в dev / tqa, я запускаю нечто подобное, кромеразвернутое приложение вместо локального приложения.Кажется, что Cucumber оптимизирован для работы с локально работающим приложением и хорошо интегрируется с Rails, но не может работать с тем, что является «внешним» приложением (или, по крайней мере, я не могу найти простой способ, который действительно работает).
Кроме того, при развертывании в prod я хотел бы запустить аналогичный набор тестов дыма, за исключением того, что он не изменит состояние текущей производственной базы данных (т. Е. Просто получит URL).
Что-тоЯ думаю, что можно использовать Selenium, но мне бы очень хотелось просто запустить задачу с граблями и получить результаты, как я это сделал с Cucumber.
Есть ли способ Rails / Ruby, позволяющий это сделать?или все остальные просто накатывают свое собственное решение, используя wget или Selenium?
Аналогичный вопрос был задан здесь: Автоматическое тестирование дыма на всех веб-страницах приложения после развертывания
Я не уверен, что вопрос именно в том, что я имею в виду.