Одним дождливым летним вечером подумали мы, что тесты это хорошо и принялись их писать. Тут же код стал более красивым, а приложения стабильными, но радость была недолгой поскольку поняли мы, что каждый раз запускать руками тесты для каждого проекта неудобно и порой просто забывается.
Тут же было решено поднять 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
Добавление проекта
Как видно для добавления проекта необходимо всего лишь название проекта и ник владельца (либо название компании) на GitHub, а так же путь до проекта и команды для тестирования, каждая команда в отдельной строчке. Так, например, для одного из наших Symfony-проектов это:
composer install --dev
php app/console cache:clear --env=test
./bin/behat --tags ~@javascript
phpunit -c app/
Внешний вид
Обратная связь
Проект находится на GitHub и будет рад любым замечаниям, оставленным здесь в комментариях или в Issues на GitHub.