cucumber/cucumber-rails
cucumber/cucumber-rails has 1,039 GitHub stars and 324 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 11:44 UTC. Last push 2026-10-31.
Rails Generators for Cucumber with special support for Capybara and DatabaseCleaner
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalCucumber-Rails
Cucumber-Rails brings Cucumber to Rails 6.1, 7.x, and 8.x.
NB: Rails 6.1 is no longer directly supported in modern versions of ruby. This will soon be discontinued in our support
Installation
Before you can use the generator, add the gem to your project's Gemfile as follows:
group :test do
gem 'cucumber-rails', require: false
# database_cleaner is not required, but highly recommended
gem 'database_cleaner'
end
Then install it by running:
bundle install
Learn about the various options:
rails generate cucumber:install --help
Finally, bootstrap your Rails app, for example:
rails generate cucumber:install
Running Cucumber
[bundle exec] cucumber
Configuration options
By default, cucumber-rails runs DatabaseCleaner.start and DatabaseCleaner.clean
before and after your scenarios. You can disable this behaviour like so:
# features/support/env.rb
# ...
Cucumber::Rails::Database.autorun_database_cleaner = false
By default, cucumber-rails will auto mix-in the helpers from Rack::Test into your default Cucumber World instance.
You can prevent this behaviour like so:
# features/support/env.rb
ENV['CR_REMOVE_RACK_TEST_HELPERS'] = 'true'
Upgrading from a previous version
When upgrading from a previous version it is recommended that you rerun:
rails generate cucumber:install
Bugs and feature requests
The only way to have a bug fixed or a new feature accepted is to describe it with a Cucumber feature. Let's say you think you have found a bug in the cucumber:install generator. Fork this project, clone it to your workstation and check out a branch with a descriptive name:
git clone [email protected]:you/cucumber-rails.git
git checkout -b bugfix/generator-fails-on-bundle-exec
Start by making sure you can run the existing features. Now, create a feature that demonstrates what's wrong. See the existing features for examples. When you have a failing feature that reproduces the bug, commit, push and send a pull request. Someone from the Cucumber-Rails team will review it and hopefully create a fix.
If you know how to fix the bug yourself, make a second commit (after committing the failing feature) before you send the pull request.
Setting up your environment
Make sure you have a supported ruby installed, cd into your cucumber-rails repository and run
gem install bundler
bundle install
Running all tests
With all dependencies installed, all specs and features should pass:
[bundle exec] rake
Running Appraisal suite
In order to test against multiple versions of key dependencies, the Appraisal
gem is used to generate multiple gemfiles, stored in the gemfiles/ directory.
Normally these will only run on GitHub via GitHub Actions; however if you want to run the full test
suite against all gemfiles, run the following commands:
[bundle exec] appraisal install
[bundle exec] appraisal rake test
To run the suite against a named gemfile, use the following:
[bundle exec] appraisal rails_8_0 rake test
Adding dependencies
To support the multiple-gemfile testing, when adding a new dependency the following rules apply:
- If it's a runtime dependency of the gem, add it to the gemspec
- If it's a primary development dependency, add it to the gemspec
- If it's a dependency of a generated rails app in a test, add it to the helper method that modifies the
Gemfile
For example, rspec is a primary development dependency, so it lives in the gemspec.
Explore related projects
Asabeneh/30-Days-Of-Python
The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,486 starsgrafana/grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
77,790 starsredis/redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
77,332 starsapache/superset
Apache Superset is a Data Visualization and Data Exploration Platform
75,455 stars