Spinach-rails Build Status Dependency Status

Spinach-rails is a compatibility layer on top of Spinach to provide rails support.


Add spinach-rails to your Gemfile:

group :test, :development do
  gem 'spinach-rails'

Generate your rails environment file with:

rails generate spinach

Follow the instructions from Spinach to set up spinach and run the rake task:

RAILS_ENV=test rake spinach

If you want spinach to automatically generate a step definition file when necessary, you can also run:

RAILS_ENV=test rake spinach:generate

Cleaning your database before each scenario

You can take benefit from spinach's hook architecture and use DatabaseCleaner to reset your database to a pristine state each time a scenario is executed.

Here's an example you can add to your env features/support/env.rb file:

require 'database_cleaner'
DatabaseCleaner.strategy = :truncation

Spinach.hooks.after_scenario do


  • Fork the project.
  • Make your feature addition or bug fix.
  • Add specs for it. This is important so we don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. If you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull.
  • Send me a pull request. Bonus points for topic branches.


MIT License. Copyright 2011 Codegram Technologies