{"id":13631820,"url":"https://github.com/cucumber/cucumber-rails","last_synced_at":"2025-05-12T13:18:59.848Z","repository":{"id":718645,"uuid":"365772","full_name":"cucumber/cucumber-rails","owner":"cucumber","description":"Rails Generators for Cucumber with special support for Capybara and DatabaseCleaner","archived":false,"fork":false,"pushed_at":"2025-02-05T15:29:00.000Z","size":1845,"stargazers_count":1031,"open_issues_count":3,"forks_count":328,"subscribers_count":96,"default_branch":"main","last_synced_at":"2025-05-12T13:18:38.923Z","etag":null,"topics":["polyglot-release","rails","ruby","tidelift"],"latest_commit_sha":null,"homepage":"https://github.com/cucumber/cucumber-rails","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cucumber.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"open_collective":"cucumber","github":"cucumber"}},"created_at":"2009-11-09T01:05:11.000Z","updated_at":"2025-05-01T13:17:32.000Z","dependencies_parsed_at":"2024-01-12T11:51:31.899Z","dependency_job_id":"cd8ddca8-13d5-49cc-8bbb-d97295037e70","html_url":"https://github.com/cucumber/cucumber-rails","commit_stats":{"total_commits":1240,"total_committers":158,"mean_commits":7.848101265822785,"dds":0.7798387096774193,"last_synced_commit":"522d7cf5f55e91ef31fa17300093296c3bf6825c"},"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cucumber%2Fcucumber-rails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cucumber%2Fcucumber-rails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cucumber%2Fcucumber-rails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cucumber%2Fcucumber-rails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cucumber","download_url":"https://codeload.github.com/cucumber/cucumber-rails/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253745196,"owners_count":21957319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["polyglot-release","rails","ruby","tidelift"],"created_at":"2024-08-01T22:02:39.720Z","updated_at":"2025-05-12T13:18:59.480Z","avatar_url":"https://github.com/cucumber.png","language":"Ruby","funding_links":["https://opencollective.com/cucumber","https://github.com/sponsors/cucumber"],"categories":["Ruby","By Technology"],"sub_categories":["Ruby"],"readme":"# Cucumber-Rails\n\n[![Gem Version](https://badge.fury.io/rb/cucumber-rails.svg)](http://badge.fury.io/rb/cucumber-rails)\n[![build](https://github.com/cucumber/cucumber-rails/actions/workflows/test.yml/badge.svg)](https://github.com/cucumber/cucumber-rails/actions/workflows/test.yml)\n[![Open Source Helpers](https://www.codetriage.com/cucumber/cucumber-rails/badges/users.svg)](https://www.codetriage.com/cucumber/cucumber-rails)\n\nCucumber-Rails brings Cucumber to Rails 6.1, 7.x, and 8.x.\n\n## Installation\n\nBefore you can use the generator, add the gem to your project's Gemfile as follows:\n\n```ruby\ngroup :test do\n  gem 'cucumber-rails', require: false\n  # database_cleaner is not required, but highly recommended\n  gem 'database_cleaner'\nend\n```\n\nThen install it by running:\n\n    bundle install\n\nLearn about the various options:\n\n    rails generate cucumber:install --help\n\nFinally, bootstrap your Rails app, for example:\n\n    rails generate cucumber:install\n\n## Running Cucumber\n\n    [bundle exec] cucumber\n\n## Configuration options\n\nBy default, cucumber-rails runs `DatabaseCleaner.start` and `DatabaseCleaner.clean`\nbefore and after your scenarios. You can disable this behaviour like so:\n\n```ruby\n# features/support/env.rb\n# ...\nCucumber::Rails::Database.autorun_database_cleaner = false\n```\n\nBy default, cucumber-rails will auto mix-in the helpers from  `Rack::Test` into your default Cucumber World instance.\nYou can prevent this behaviour like so:\n```ruby\n# features/support/env.rb\nENV['CR_REMOVE_RACK_TEST_HELPERS'] = 'true'\n```\n\n## Upgrading from a previous version\n\nWhen upgrading from a previous version it is recommended that you rerun:\n\n    rails generate cucumber:install\n\n## Bugs and feature requests\n\nThe *only* way to have a bug fixed or a new feature accepted is to describe it with a\nCucumber feature. Let's say you think you have found a bug in the cucumber:install generator.\nFork this project, clone it to your workstation and check out a branch with a descriptive name:\n\n    git clone git@github.com:you/cucumber-rails.git\n    git checkout -b bugfix/generator-fails-on-bundle-exec\n\nStart by making sure you can run the existing features. Now, create a feature that demonstrates\nwhat's wrong. See the existing features for examples. When you have a failing feature that\nreproduces the bug, commit, push and send a pull request. Someone from the Cucumber-Rails team\nwill review it and hopefully create a fix.\n\nIf you know how to fix the bug yourself, make a second commit (after committing the failing\nfeature) before you send the pull request.\n\n### Setting up your environment\n\nMake sure you have a supported ruby installed, cd into your `cucumber-rails` repository and run\n\n    gem install bundler\n    bundle install\n    bin/install_geckodriver.sh\n    bin/install_webpacker.sh\n\n### Running all tests\n\nWith all dependencies installed, all specs and features should pass:\n\n    [bundle exec] rake\n\n### Running Appraisal suite\n\nIn order to test against multiple versions of key dependencies, the [Appraisal](https://github.com/thoughtbot/appraisal)\ngem is used to generate multiple gemfiles, stored in the `gemfiles/` directory.\nNormally these will only run on GitHub via GitHub Actions; however if you want to run the full test\nsuite against all gemfiles, run the following commands:\n\n    [bundle exec] appraisal install\n    [bundle exec] appraisal rake test\n\nTo run the suite against a named gemfile, use the following:\n\n    [bundle exec] appraisal rails_8_0 rake test\n\n### Adding dependencies\n\nTo support the multiple-gemfile testing, when adding a new dependency the following rules apply:\n\n1. If it's a runtime dependency of the gem, add it to the gemspec\n2. If it's a primary development dependency, add it to the gemspec\n3. If it's a dependency of a generated rails app in a test, add it to [the helper method] that modifies the `Gemfile`\n\nFor example, rspec is a primary development dependency, so it lives in the gemspec.\n\n[the helper method]: ./features/support/cucumber_rails_gem_helper.rb\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcucumber%2Fcucumber-rails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcucumber%2Fcucumber-rails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcucumber%2Fcucumber-rails/lists"}