Buffet is a test distribution framework for Ruby applications. It distributes your tests across multiple worker machines and runs them in parallel, which significantly speeds up the testing cycle.
gem install buffet
buffet from the command line at the top level of your application.
Buffet expects to find a
buffet.yml file in the same directory which tells it
about the project being tested and what machines it should run on. If you want
to specify a different configuration file, use the
Buffet also allows you to specify a name for the project using the
switch. This switch is intended to allow multiple runs of the same project
from the same master user, since the project name is used as a namespace to
prevent resource contention.
If you have a database or other set-up that needs to be prepared before every
test you can create a
bin/before-buffet-run script in your application's
folder which makes the necessary preparations (you can customize which file
to use by specifying the
prepare_script setting in
bin/before-buffet-run is executed separately from the actual test
running process, so e.g. environment variables will not be preserved. To
customize the test running environment, you can use the
setting. To set up a specific RVM environment, for example, you could use:
worker_command: rvm use 1.9.3 && .buffet/buffet-worker