Я только что присоединился к работе в команде на существующем веб-приложении Java. Для меня определили задачу с созданием автоматизированного комплекта интеграционного теста, который должен работать, когда разработчики соглашаются на наш непрерывный сервер интеграции (TeamCity), который автоматически развертывается к нашему серверу подготовки - поэтому действительно, тесты будут запущены против нашего сервера веб-приложения подготовки.
Я считал много материала об автоматизированном интеграционном тестировании с платформами как Watir, Селен и RWebSpec. Я создал тесты во всех них и в то время как я предпочитаю Watir, я открыт для чего-либо.
Вещь, которая не стала ясной мне, состоит в том, как создать весь набор тестов для приложения, и как иметь тот комплект, выполняются в, он - полнота после выполнения некоторого сценария. Я могу счастливо создать отдельные тесты переменной сложности, но существует разрыв в моем знании о том, как связать все во что-то полезное.
У кого-либо есть совет относительно того, как создать полный набор тестов и иметь его, выполняются автоматически?
Спасибо!
Чтобы выполнить тест Watir, находящийся в файле, просто запустите файл:
$ ruby tests_1.rb
Чтобы выполнить тесты в нескольких файлах, запустите все файлы. Вы можете создать файл, который будет запускать их все (например, all_tests.rb):
load "tests_1.rb"
load "tests_2.rb"
и затем просто запустить файл:
$ ruby all_tests.rb
Я не знаком с TeamCity, но вы должны быть в состоянии просто запустить all_tests.rb из него.
В итоге я написал тесты, используя Rspec для создания утверждений против объектов Watir (точнее, Celerity). Это позволило мне использовать Rake для автоматизации выполнения тестов. Есть несколько хороших статей о совместном использовании Rspec и Rake. Наш сервер сборки (teamcity) имеет крючки для задач Rake, так что это хорошо работает. Мне потребовалось некоторое время, чтобы собрать все воедино, поэтому я решил опубликовать готовое решение здесь.