How to build a robust test suite that runs on different environments?
I was wondering if you guys can help me with setting up a decent test environment for my Rails plugin ScopedSearch, which allows you to search your records based on a textual query language.
The project actually already decent amount of tests written using RSpec that cover all functionality. What I would like is run all these tests is different environments. These environments differ in three areas: Ruby versions, gem dependency versions and database servers. I would like the plugin to work with both Rails 2 and 3, with both Ruby 1.8.7 and 1.9.2, and on MySQL, PostgreSQL and SQLite. The test suite should therefore run on all combinations of these areas if possible.
Moreover, I would like it to be as easy as possible for other contributors to recreate the same test setup. This can be a problem because they may not have Ruby version installed, or they may not have access to all the database server types.
What would you advice me as a setup that solves most of these issues in an elegant way? Please leave your advice in the comments. Thanks, Willem
