Одним дождливым летним вечером подумали мы, что тесты это хорошо и принялись их писать. Тут же код стал более красивым, а приложения стабильными, но радость была недолгой поскольку поняли мы, что каждый раз запускать руками тесты для каждого проекта неудобно и порой просто забывается.

Тут же было решено поднять Continious Testing сервер, однако монстрообразные Jenkins и подобные не покорили сердца любителей простоты и минимализма, и за вечер был написан свой небольшой скрипт для прогонки тестов. Для написания использовался Ruby (Sinatra/DataMapper), отсюда и название.

Что он умеет

  • Интеграция с Github: При добавлении хука с URL http://your.ci.server.host/build RuTester будет прогонять тестирование проекта при каждом пуше. Либо можно через веб-интерфейс ввести хеш коммита и Rutester начнет работу.
  • Интеграция с Hipchat: Мы активно используем данный сервис, поэтому не могли обойти его стороной. При каждой сборке, удачной или нет, приходит уведомление, а по ссылке можно посмотреть лог билда и тестов.

Установка


git clone [email protected]:nucleartux/rutester.git
bundle install

Не забудьте так же скопировать config.yml.dist в config.yml и отредактировать необходимые параметры.

Запуск


ruby rutester.rb

Добавление проекта

73

Как видно для добавления проекта необходимо всего лишь название проекта и ник владельца (либо название компании) на GitHub, а так же путь до проекта и команды для тестирования, каждая команда в отдельной строчке. Так, например, для одного из наших Symfony-проектов это:


composer install --dev
php app/console cache:clear --env=test
./bin/behat --tags ~@javascript
phpunit -c app/

Внешний вид

37
26

Обратная связь

Проект находится на GitHub и будет рад любым замечаниям, оставленным здесь в комментариях или в Issues на GitHub.