Integration Testing for Multiple Web Applications

I've recently been developing a Rails app that relies on a database that is maintained by another team as part of a different application. As you can imagine, unexpected changes to the database schema can bring our Rails app to it's knees if they're deployed to the live server before our application is updated.

So far we've been lucky, but the issue has been at the back of our minds for a while. This week I sat down and cooked up a solution, and we've called it Integral.

Integral consists of some Thor tasks that:

  • Run tests on your test server.
  • Keep track of which versions of your applications work well together.
  • Can be integrated into your deployment recipes to ensure that deploying an app should never break your live server again…

All the Integral code is on github, and I've written some fairly extensive documentation on the Wiki. Please try it out, give us some feedback, fork it, burn it, give us some feedback, etc. etc.

I love feedback and questions — please get in touch on Twitter or leave a comment.