Spinach-rails is a compatibility layer on top of Spinach to provide rails support.
spinach-rails to your Gemfile:
group :test do gem 'spinach-rails' end
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
It is advised to explicitly load your environment in a file called
so you're able to run spinach from command-line. Here's an example:
ENV["RAILS_ENV"] ||= 'test' require_relative("../../config/environment") require 'spinach-rails'
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 a file
require 'database_cleaner' DatabaseCleaner.strategy = :truncation Spinach.hooks.before_scenario do DatabaseCleaner.start end Spinach.hooks.after_scenario do DatabaseCleaner.clean end
- 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