README.md in cucumber-rails-1.3.0 vs README.md in cucumber-rails-1.3.1
- old
+ new
@@ -1,18 +1,17 @@
# Cucumber-Rails
[![Build Status](https://secure.travis-ci.org/cucumber/cucumber-rails.png)](http://travis-ci.org/cucumber/cucumber-rails)
-[![Dependency Status](https://gemnasium.com/cucumber/cucumber-rails.png)](https://gemnasium.com/cucumber/cucumber-rails)
-Cucumber-Rails brings Cucumber to Rails 3.x. For Rails 2x support, see the [Cucumber Wiki](https://github.com/cucumber/cucumber/wiki/Ruby-on-Rails).
+Cucumber-Rails brings Cucumber to Rails 3.x. For Rails 2.3.x support, see the [rails-2.3.x branch](https://github.com/cucumber/cucumber-rails/tree/rails-2.3.x).
## Installation
Before you can use the generator, add the gem to your project's Gemfile as follows:
group :test do
- gem 'cucumber-rails'
+ gem 'cucumber-rails', :require => false
# database_cleaner is not required, but highly recommended
gem 'database_cleaner'
end
Then install it by running:
@@ -53,12 +52,37 @@
I strongly recommend rvm and ruby 1.9.3. When you have that, cd into your cucumber-rails repository and:
gem install bundler
bundle install
-### Running all features
+### Running all tests
-With all dependencies installed, all features should pass:
+With all dependencies installed, all specs and features should pass:
- rake cucumber
+ rake
One of the features uses MongoDB, which needs to be running in order to make features/mongoid.feature to pass.
+
+### Running Appraisal suite
+
+In order to test against multiple versions of key dependencies, the [Appraisal](https://github.com/thoughtbot/appraisal) is used to generate multiple gemfiles, stored in the `gemfiles/` directory. Normally these will only run on Travis; however, if you want to run the full test suite against all gemfiles, run the following commands:
+
+ rake gemfiles:install
+ rake test:all
+
+To run the suite against a named gemfile, use the following:
+
+ rake test:gemfile[rails_3_0]
+
+To remove and rebuild the different gemfiles (for example, to update a rails version or its dependencies), use the following:
+
+ rake gemfiles:rebuild
+
+### Adding dependencies
+
+To support the multiple-gemfile testing, when adding a new dependency the following rules apply:
+
+1. If it's a runtime dependency of the gem, add it to the gemspec
+2. If it's a primary development dependency, add it to the gemspec
+3. If it's a dependency of a generated rails app in a test, add it to the Gemfile (for local test runs) and each appraisal section (if necessary).
+
+For example, rspec is a primary development dependency, so it lives in the gemspec. By contrast, coffee-rails is a dependency of apps generated with rails 3.1 and 3.2, so lives in the main Gemfile and the rails 3.1 and 3.2 appraisal sections.