Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Distributed testing framework for RSpec

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 support
Octocat-spinner-32 .gitignore
Octocat-spinner-32 CHANGELOG.md
Octocat-spinner-32 Gemfile Move rubygems into gemspec, classify on dev/not dev. August 02, 2011
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 buffet.gemspec
Octocat-spinner-32 buffet.sample.yml
Octocat-spinner-32 buffet.yml
README.md

Buffet

Gem Version

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.

Installation

gem install buffet

Usage

Run 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 --config switch.

Buffet also allows you to specify a name for the project using the --project 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.

Details

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 buffet.yml).

Note that 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 worker_command setting. To set up a specific RVM environment, for example, you could use:

worker_command: rvm use 1.9.3 && .buffet/buffet-worker

Something went wrong with that request. Please try again.