AT.info ПОСИДЕЛКИ  vKontakte   facebook группа  
Grails

Как запустить автоматические Grails тесты с помощью shell scripting?

Как только у вас появились первые тесты, было бы очень неплохо запускать их скопом каждый раз, когда добавляются или изменяются ваши тесты. Все хорошо, когда вы работаете один на проекте, а если же вместе с вами работает команда автоматизаторов, которые тоже каждый день коммитят новый код?!

Правильным решением тут было бы поднять сервер непрерывной интеграции и запускать тесты там. Но что делать, если  вы работаете удаленно и все ваши коллеги тоже работают удаленно? Даже если кто-то из команды поставит сервер непрерывной интеграции у себя на локальной машине, то он не будет доступен другим. Тогда правильным решением было бы немного раскошелиться и купить место в облаках, например в Amazon EC, и настроить все, что вам нужно. Но пока вы это все делаете, нужно, чтобы тесты хоть как-то запускались и высылалась нотификация на всю комманду.

При выполнении одного из моих проектов по автоматизации, я сделал несколько небольших скриптов на Ubuntu, которые очень быстро помогли мне запускать тесты с определенной регулярностью. Почему я их сделал? Потому что данный проект разрабатывается на grails, и тут, к сожалению, есть ряд ограничений по запуску тестов. Тем не менее, я быстро написал эти небольшие скрипты, которые помогли мне и они выполняли следующее:

  • Автоматическое скачивание последней версии файлов с версионного конроля git
  • Запуск тестов c помощью grails
  • Отправка емейлов участникам команды с результатами прогона в формате JUnit

Я реализовал два скрипта, один - для запуска всех тестов и второй - для того, чтобы запускать тесты несколько раз.