If you work on a project with multiple developers, a continuous integration testing setup is a must. A CI package will run automated tests on a server on a set(daily) or evented(whenever commits are made) interval.
There are a number of continuous integration packages for Ruby software including CI Joe, CruiseControl.rb. I chose Hudson because it is extendable via plugins and has great support for running automated testing for non-ruby software as well.
Install hudson and jetty:
On your testing server:
Set a working dir:
sudo gem install ci_reporter
Setting up a Project in Hudson
Click ‘New Job’
Click ‘Build a free-style software project’
This lets you use a custom ruby app.
On the project configuration page:
set the git repo and the option to poll SCM
Add a Execute Shell option with:
This will install all the necessary gems from the Gemfile.
Finally, add the rake task for the actual testing itself.
You can test the setup by clicking the “Build Now” link. In the future, the “Poll SCM” will just run your tests on a set interval whenever code is pushed to your git repo.