https://github.com/cucumber/cucumber-ruby
Cucumber for Ruby. It's amazing!
https://github.com/cucumber/cucumber-ruby
Keywords
cucumber polyglot-release ruby tidelift
Keywords from Contributors
activerecord mvc activejob rspec rubygems rack sinatra devise crash-reporting rubocop
Last synced: about 9 hours ago
JSON representation
Repository metadata
Cucumber for Ruby. It's amazing!
- Host: GitHub
- URL: https://github.com/cucumber/cucumber-ruby
- Owner: cucumber
- License: mit
- Created: 2008-04-17T18:19:13.000Z (about 18 years ago)
- Default Branch: main
- Last Pushed: 2026-06-09T03:29:36.000Z (7 days ago)
- Last Synced: 2026-06-09T18:03:41.604Z (7 days ago)
- Topics: cucumber, polyglot-release, ruby, tidelift
- Language: Ruby
- Homepage: https://cucumber.io
- Size: 16.3 MB
- Stars: 5,210
- Watchers: 222
- Forks: 1,118
- Open Issues: 31
- Releases: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
README.md
Cucumber is a tool for running automated tests written in plain language. Because they're
written in plain language, they can be read by anyone on your team. Because they can be
read by anyone, you can use them to help improve communication, collaboration and trust on
your team.
This is the Ruby implementation of Cucumber. Cucumber is also available for JavaScript,
Java, and a lot of other languages. You can find a list of implementations here: https://cucumber.io/docs/installation/.
See CONTRIBUTING.md for info on contributing to Cucumber (issues, PRs, etc.).
Everyone interacting in this codebase and issue tracker is expected to follow the
Cucumber code of conduct.
Installation
Cucumber for Ruby is a Ruby gem. Install it as you would install any gem: add
cucumber to your Gemfile:
gem 'cucumber'
then install it:
$ bundle
or install the gem directly:
$ gem install cucumber
Later in this document, bundler is considered being used so all commands are using
bundle exec. If this is not the case for you, execute cucumber directly, without
bundle exec.
Supported platforms
- Ruby 4.0
- Ruby 3.4
- Ruby 3.3
- Ruby 3.2
- TruffleRuby 24.0.0+
- JRuby 10.0+ (with some limitations)
Ruby on Rails
Using Ruby on Rails? You can use cucumber-rails to bring Cucumber into your Rails project.
Usage
Initialization
If you need to, initialize your features directory with
$ bundle exec cucumber --init
This will create the following directories and files if they do not exist already:
features
├── step_definitions
└── support
└── env.rb
Create your specification
Create a file named rule.feature in the features directory with:
# features/rule.feature
Feature: Rule Sample
Rule: This is a rule
Example: A passing example
Given this will pass
When I do an action
Then some results should be there
Example: A failing example
Given this will fail
When I do an action
Then some results should be there
Automate your specification
And a file named rule_steps.rb in features/step_definitions with:
# features/step_definitions/steps.rb
Given('this will pass') do
@this_will_pass = true
end
Given('this will fail') do
@this_will_pass = false
end
When('I do an action') do
:no_op
end
Then("some results should be there") do
expect(@this_will_pass).to be true
end
Run Cucumber
$ bundle exec cucumber
To execute a single feature file:
$ bundle exec cucumber features/rule.feature
To execute a single example, indicates the line of the name of the example:
$ bundle exec cucumber features/rule.feature:5
To summarize the results on the standard output, and generate a HTML report on disk:
$ bundle exec cucumber --format summary --format html --out report.html
For more command line options
$ bundle exec cucumber --help
You can also find documentation on the command line possibilities in features/docs/cli.
Documentation and support
- Getting started, writing features, step definitions, and more: https://cucumber.io/docs
- Ruby API Documentation: http://www.rubydoc.info/github/cucumber/cucumber-ruby/
- Community support forum: https://github.com/orgs/cucumber/discussions
- Discord: register for an account
Copyright
Copyright (c) Cucumber and Contributors. See LICENSE for details.
Owner metadata
- Name: Cucumber
- Login: cucumber
- Email:
- Kind: organization
- Description: Cucumber Open
- Website: https://cucumber.io/tools/cucumber-open/
- Location:
- Twitter: cucumberbdd
- Company:
- Icon url: https://avatars.githubusercontent.com/u/320565?v=4
- Repositories: 117
- Last ynced at: 2024-10-29T23:35:46.448Z
- Profile URL: https://github.com/cucumber
GitHub Events
Total
- Release event: 2
- Delete event: 44
- Pull request event: 67
- Fork event: 19
- Issues event: 23
- Watch event: 60
- Issue comment event: 84
- Push event: 162
- Pull request review event: 42
- Pull request review comment event: 40
- Create event: 46
Last Year
- Release event: 1
- Delete event: 32
- Pull request event: 34
- Fork event: 3
- Issues event: 8
- Watch event: 26
- Issue comment event: 24
- Push event: 133
- Pull request review comment event: 9
- Pull request review event: 11
- Create event: 39
Committers metadata
Last synced: about 10 hours ago
Total Commits: 6,996
Total Committers: 458
Avg Commits per committer: 15.275
Development Distribution Score (DDS): 0.646
Commits in past year: 102
Committers in past year: 10
Avg Commits per committer in past year: 10.2
Development Distribution Score (DDS) in past year: 0.598
| Name | Commits | |
|---|---|---|
| Aslak Hellesøy | a****y@g****m | 2476 |
| Matt Wynne | m****t@m****t | 961 |
| Vincent Pretre | v****e@g****m | 329 |
| Joseph Wilk | j****k@j****k | 216 |
| Steve Tooke | s****e@h****s | 205 |
| Björn Rasmusson | B****n@c****g | 199 |
| Jayson Smith | g****b@n****m | 193 |
| Oleg Sukhodolsky | o****3@g****m | 136 |
| Ben Mabey | b****n@b****m | 132 |
| Joseph Wilk | j****e@j****t | 123 |
| Luke Hill | 2****l | 116 |
| Aurélien Reeves | a****s@s****m | 75 |
| Jim van Musscher | j****r@g****m | 73 |
| renovate[bot] | 2****] | 59 |
| David Chelimsky | d****y@g****m | 59 |
| Chris Parsons | c****s@t****m | 47 |
| Andrea Nodari | a****1@g****m | 35 |
| Christophe Bliard | c****d@t****o | 34 |
| Peter Jaros | p****a@d****m | 34 |
| Bryan Helmkamp | b****n@b****m | 33 |
| ghnatiuk | g****k@g****m | 31 |
| Daniel Cadenas | d****s@g****m | 28 |
| Dana Scheider | d****r@g****m | 26 |
| Aslak Hellesøy | a****y@s****m | 25 |
| John Voloski | j****i@c****r | 23 |
| Micah Geisel | m****h@b****m | 22 |
| Mike Sassak | m****k@g****m | 21 |
| Thomas Marek | t****5@g****m | 21 |
| Jari Bakken | j****n@g****m | 21 |
| Mads Buus Westmark | o****e@b****t | 20 |
| and 428 more... | ||
Committer domains:
- redhat.com: 4
- engineyard.com: 3
- weplay.com: 3
- smartbear.com: 3
- me.com: 3
- thoughtworks.com: 2
- claysnow.co.uk: 2
- yandex.ru: 2
- iki.fi: 2
- thoughtbot.com: 2
- jetbrains.com: 2
- icontact.com: 2
- mdsol.com: 2
- opensourcetester.co.uk: 1
- ratiodata.de: 1
- intraducibles.net: 1
- jimdo.com: 1
- brightcove.com: 1
- patientkeeper.com: 1
- echowaves.com: 1
- sarvar-laptop.(none): 1
- ayrtonaraujo.net: 1
- mif.vu.lt: 1
- yugui.jp: 1
- jteigen.com: 1
- lanpartei.de: 1
- typeform.com: 1
- innatesoftware.com: 1
- bigfix.com: 1
- bestbefore.tv: 1
- *.co.uk: 1
- hasmanydevelopers.com: 1
- naakka.snet.fi: 1
- affront.(none): 1
- nulogy.com: 1
- tunecore.com: 1
- keepfocus.dk: 1
- katipo.co.nz: 1
- playlyfe.com: 1
- scottandlaurie.com: 1
- asdetec.com: 1
- mutuallyhuman.com: 1
- nenert.net: 1
- the-it-refinery.co.uk: 1
- attinteractive.com: 1
- pc-12-115.bestuur.omroep.nl: 1
- axini.com: 1
- reiz.lv: 1
- sensis.com.au: 1
- fedux.org: 1
- 42dh.com: 1
- thefrontside.net: 1
- benhall.me.uk: 1
- superinfinite.com: 1
- alexrothenberg.com: 1
- leandogsoftware.com: 1
- algernon.hu: 1
- dosire.com: 1
- aspartner.no: 1
- unknown.info: 1
- aluminium.(none): 1
- finalist.com: 1
- vatn.org: 1
- riseup.net: 1
- technicalpickles.com: 1
- shlrm.org: 1
- inversepath.com: 1
- newrelic.com: 1
- zephirworks.com: 1
- xing.com: 1
- baobabhealth.org: 1
- fluentradical.com: 1
- kakutani.com: 1
- burnet.edu.au: 1
- renovateapp.com: 1
- buus.net: 1
- botandrose.com: 1
- cwi.com.br: 1
- brynary.com: 1
- dropio.com: 1
- trux.info: 1
- thinkcodelearn.com: 1
- josephwilk.net: 1
- benmabey.com: 1
- nes.33mail.com: 1
- computer.org: 1
- heavi.es: 1
- joesniff.co.uk: 1
- alkaline-solutions.com: 1
- antiflux.org: 1
- chello.nl: 1
- ksylvest.com: 1
- metal.ee: 1
- mkly.io: 1
- edgeofthenet.org: 1
- clarkies.me.uk: 1
- hiptest.net: 1
- faloona.net: 1
- debian.org: 1
- humanizingwork.com: 1
- renewfinancial.com: 1
- matsinopoulos.gr: 1
- davidgoss.co: 1
- skillnet.fi: 1
- monkeypox.org: 1
- matijs.net: 1
- yahoo.com.au: 1
- orien.io: 1
- lmcavalle.com: 1
- terra.com.br: 1
- pcgcampbell.com: 1
- 21croissants.com: 1
- indabamusic.com: 1
- fuglylogic.com: 1
- .bekk.no: 1
- mattwynne.net: 1
- devopsy.com: 1
- hecticjeff.net: 1
- benle.de: 1
- behar.cloud: 1
- codebright.net: 1
- freevision.sk: 1
- noizeramp.com: 1
- mullr.net: 1
- andrewsullivancant.ca: 1
- iain.nl: 1
- ruby-lang.org: 1
- degraaff.org: 1
- camptocamp.com: 1
- plataformatec.com.br: 1
- bits2life.com: 1
- segment7.net: 1
- suse.com: 1
- unknown.com: 1
- dpwhelan.com: 1
- daveltd.com: 1
- theglens.org: 1
- galeckas.com: 1
- thomaspreece.net: 1
- webhippie.de: 1
- gitter.im: 1
- donie.us: 1
- seasidetesting.com: 1
- haller-berlin.de: 1
- criticue.com: 1
- lukemelia.com: 1
- corp.globo.com: 1
- yrral.net: 1
- mach7x.com: 1
- apple.com: 1
- jennius.co.uk: 1
- tron.name: 1
- jonrowe.co.uk: 1
- johan.kiviniemi.name: 1
- geekdaily.org: 1
- ktechsystems.com: 1
- softace.dk: 1
- orgraphone.org: 1
- theorydot.com: 1
- onemorebug.com: 1
- .sjrb.ad: 1
- .expecndx.com: 1
- spbtv.com: 1
- asolutions.com: 1
- globys.com: 1
- noradltd.com: 1
- willmer.org: 1
- lemurheavy.com: 1
- herimedia.com: 1
- freelancing-gods.com: 1
- pravosud.com: 1
- student.hpi.de: 1
- castor.wrk.lsn.camptocamp.com: 1
- oliver-desktop.(none): 1
- patrick-hp-625.(none): 1
- cisco.com: 1
- donpetersen.net: 1
- errancarey.com: 1
- cientifico.net: 1
- linesip.com: 1
- iuliandogariu.com: 1
- inodes.org: 1
- jbpros.com: 1
- notch8.com: 1
- wozniak.com: 1
- hotgazpacho.org: 1
- ml1.net: 1
- lendkey.com: 1
- jmerrifield.com: 1
- codingspree.net: 1
- l2g.to: 1
- rapid7.com: 1
- centro.net: 1
- reprocessed.org: 1
- nicolassanguinetti.info: 1
- hashrocket.com: 1
- drwuk.com: 1
- envato.com: 1
- jacobrothstein.com: 1
- finn.de: 1
- patientwisdom.com: 1
- optoro.com: 1
- msn.com: 1
- kubicek.cz: 1
- innovativechildcaresolutions.com: 1
- ciemborowicz.pl: 1
- linux.com: 1
- sportradar.com: 1
- crealytics.de: 1
- ciandt.com: 1
- lucianosousa.net: 1
- toptal.com: 1
- andywaite.com: 1
- paypal.com: 1
- rapt.us: 1
- dtrasbo.com: 1
- inventables.com: 1
- sep.com: 1
- redflavor.com: 1
- post.pl: 1
- chendo.net: 1
- leandog.com: 1
- fixieconsulting.com: 1
- jordanstephens.net: 1
- shcgd-egeng08.sjrb.ad: 1
- tomtenthij.nl: 1
- bskyb.com: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 62
Total pull requests: 257
Average time to close issues: 12 months
Average time to close pull requests: 16 days
Total issue authors: 41
Total pull request authors: 37
Average comments per issue: 5.47
Average comments per pull request: 1.42
Merged pull request: 178
Bot issues: 1
Bot pull requests: 71
Past year issues: 12
Past year pull requests: 57
Past year average time to close issues: 27 days
Past year average time to close pull requests: 14 days
Past year issue authors: 9
Past year pull request authors: 7
Past year average comments per issue: 2.58
Past year average comments per pull request: 1.19
Past year merged pull request: 31
Past year bot issues: 0
Past year bot pull requests: 11
Top Issue Authors
- mattwynne (7)
- mitchgrout (6)
- luke-hill (5)
- aslakhellesoy (3)
- ameliaanism (2)
- pgundlupetvenkatesh (2)
- RayChenLDL (2)
- aurelien-reeves (2)
- diabolo (1)
- deivid-rodriguez (1)
- renovate[bot] (1)
- TylerRick (1)
- oellul (1)
- nonkor (1)
- mtasaka (1)
Top Pull Request Authors
- luke-hill (77)
- renovate[bot] (46)
- dependabot[bot] (25)
- aurelien-reeves (23)
- vincent-psarga (17)
- mattwynne (10)
- brasmusson (5)
- aslakhellesoy (4)
- StantonMatt (3)
- mpkorstanje (3)
- orien (3)
- olleolleolle (3)
- mvz (3)
- Devurl (2)
- jagthedrummer (2)
Top Issue Labels
- :bank: debt (10)
- :bug: bug (9)
- :hourglass: stale (9)
- :zap: enhancement (8)
- :white_check_mark: accepted (7)
- :pray: help wanted (4)
- :baby_bottle: incomplete (3)
- :thinking: cannot reproduce (2)
- :question: question (2)
- :no_good: wontfix (2)
- :broken_heart: breaking change (2)
- good first issue (2)
- :cucumber: core team (1)
- :safety_pin: pinned (1)
- :wrench: build (1)
- enhancement (1)
- envelope-migration (1)
- :vertical_traffic_light: needs tests (1)
Top Pull Request Labels
- :robot: dependencies (44)
- ruby (6)
- :zap: enhancement (5)
- :bug: bug (2)
- :book: documentation (2)
- :bank: debt (2)
- :baby_bottle: incomplete (2)
- :wrench: build (2)
- spam (1)
- :broken_heart: breaking change (1)
- :white_check_mark: accepted (1)
- :cucumber: core team (1)
- :sparkles: kaizen (1)
Package metadata
- Total packages: 3
-
Total downloads:
- rubygems: 200,920,969 total
- Total docker downloads: 125,634,066
- Total dependent packages: 2,388 (may contain duplicates)
- Total dependent repositories: 56,406 (may contain duplicates)
- Total versions: 571
- Total maintainers: 1
gem.coop: cucumber
Behaviour Driven Development with elegance and joy
- Homepage: https://cucumber.io/
- Documentation: http://www.rubydoc.info/gems/cucumber/
- Licenses: MIT
- Latest release: 11.1.0 (published 15 days ago)
- Last Synced: 2026-06-15T00:03:03.363Z (1 day ago)
- Versions: 200
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 100,456,547 Total
- Docker Downloads: 62,817,033
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 0.21%
- Downloads: 0.263%
- Docker downloads count: 0.577%
- Maintainers (1)
-
Funding:
- https://opencollective.com/cucumber
rubygems.org: cucumber
Behaviour Driven Development with elegance and joy
- Homepage: https://cucumber.io/
- Documentation: http://www.rubydoc.info/gems/cucumber/
- Licenses: MIT
- Latest release: 11.1.0 (published 15 days ago)
- Last Synced: 2026-06-15T06:35:13.721Z (1 day ago)
- Versions: 200
- Dependent Packages: 2,388
- Dependent Repositories: 56,404
- Downloads: 100,464,422 Total
- Docker Downloads: 62,817,033
-
Rankings:
- Dependent packages count: 0.022%
- Dependent repos count: 0.147%
- Stargazers count: 0.246%
- Downloads: 0.248%
- Average: 0.299%
- Forks count: 0.424%
- Docker downloads count: 0.704%
- Maintainers (1)
-
Funding:
- https://opencollective.com/cucumber
proxy.golang.org: github.com/cucumber/cucumber-ruby
- Homepage:
- Documentation: https://pkg.go.dev/github.com/cucumber/cucumber-ruby#section-documentation
- Licenses: mit
- Latest release: v11.1.0+incompatible (published 15 days ago)
- Last Synced: 2026-06-14T02:03:14.952Z (2 days ago)
- Versions: 171
- Dependent Packages: 0
- Dependent Repositories: 2
-
Rankings:
- Forks count: 0.783%
- Stargazers count: 0.928%
- Dependent repos count: 3.506%
- Average: 3.698%
- Dependent packages count: 9.576%
Dependencies
- rubocop = 1.32.0
- rubocop-packaging ~> 0.3, = 0.5.1
- cucumber-compatibility-kit ~> 9.2, >= 9.2.1 development
- nokogiri ~> 1.13, >= 1.13.6 development
- octokit ~> 4.22, >= 4.22.0 development
- pry ~> 0.14, >= 0.14.1 development
- rack-test >= 1.1.0, ~> 2.0 development
- rake ~> 13.0, >= 13.0.6 development
- rspec ~> 3.11, >= 3.11.0 development
- simplecov ~> 0.21, >= 0.21.2 development
- sinatra ~> 2.2, >= 2.2.0 development
- syntax ~> 1.2, >= 1.2.2 development
- test-unit ~> 3.5, >= 3.5.3 development
- webrick ~> 1.7, >= 1.7.0 development
- builder ~> 3.2, >= 3.2.4
- cucumber-ci-environment ~> 9.0, >= 9.0.4
- cucumber-core ~> 11.0, >= 11.0.0
- cucumber-cucumber-expressions >= 15.1.1, < 17.0
- cucumber-gherkin ~> 23.0, >= 23.0.1
- cucumber-html-formatter ~> 19.1, >= 19.1.0
- cucumber-messages >= 18, < 20
- diff-lcs ~> 1.5, >= 1.5.0
- mime-types ~> 3.4, >= 3.4.1
- multi_test ~> 1.1, >= 1.1.0
- sys-uname ~> 1.2, >= 1.2.2
- ruby/setup-ruby v1 composite
- ./.github/actions/test-ruby * composite
- actions/checkout v4 composite
- cucumber/action-create-github-release v1.1.1 composite
- cucumber/action-publish-rubygem v1.0.0 composite
- actions/checkout v4 composite
- ruby/setup-ruby v1 composite
- ./.github/actions/test-ruby * composite
- actions/checkout v4 composite
Score: 34.29542763556948