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 activejob mvc rspec rubygems rack sinatra devise authorization crash-reporting
Last synced: about 22 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 (over 17 years ago)
- Default Branch: main
- Last Pushed: 2025-12-15T17:22:21.000Z (9 days ago)
- Last Synced: 2025-12-16T11:07:27.816Z (8 days ago)
- Topics: cucumber, polyglot-release, ruby, tidelift
- Language: Ruby
- Homepage: https://cucumber.io
- Size: 16.2 MB
- Stars: 5,214
- Watchers: 226
- Forks: 1,114
- Open Issues: 22
- Releases: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
README.md
Cucumber
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 3.4
- Ruby 3.3
- Ruby 3.2
- Ruby 3.1
- TruffleRuby 24.0.0+
- JRuby 9.4+ (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
- Create event: 15
- Release event: 1
- Issues event: 21
- Watch event: 56
- Delete event: 17
- Issue comment event: 69
- Push event: 54
- Pull request event: 47
- Pull request review event: 36
- Pull request review comment event: 34
- Fork event: 18
Last Year
- Create event: 15
- Release event: 1
- Issues event: 18
- Watch event: 45
- Delete event: 13
- Issue comment event: 56
- Push event: 52
- Pull request review event: 30
- Pull request review comment event: 29
- Pull request event: 41
- Fork event: 14
Committers metadata
Last synced: 1 day ago
Total Commits: 6,913
Total Committers: 454
Avg Commits per committer: 15.227
Development Distribution Score (DDS): 0.642
Commits in past year: 27
Committers in past year: 5
Avg Commits per committer in past year: 5.4
Development Distribution Score (DDS) in past year: 0.222
| 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 | 195 |
| 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 | 90 |
| Aurélien Reeves | a****s@s****m | 75 |
| Jim van Musscher | j****r@g****m | 73 |
| 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 |
| renovate[bot] | 2****] | 28 |
| 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 |
| Jari Bakken | j****n@g****m | 21 |
| Thomas Marek | t****5@g****m | 21 |
| Mike Sassak | m****k@g****m | 21 |
| Mads Buus Westmark | o****e@b****t | 20 |
| and 424 more... | ||
Committer domains:
- redhat.com: 4
- weplay.com: 3
- engineyard.com: 3
- smartbear.com: 3
- me.com: 3
- yandex.ru: 2
- claysnow.co.uk: 2
- thoughtworks.com: 2
- jetbrains.com: 2
- mdsol.com: 2
- icontact.com: 2
- thoughtbot.com: 2
- iki.fi: 2
- intraducibles.net: 1
- jimdo.com: 1
- brightcove.com: 1
- patientkeeper.com: 1
- sarvar-laptop.(none): 1
- echowaves.com: 1
- aluminium.(none): 1
- unknown.info: 1
- ratiodata.de: 1
- opensourcetester.co.uk: 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
- drwuk.com: 1
- envato.com: 1
- jacobrothstein.com: 1
- tunecore.com: 1
- keepfocus.dk: 1
- mutuallyhuman.com: 1
- katipo.co.nz: 1
- playlyfe.com: 1
- scottandlaurie.com: 1
- asdetec.com: 1
- nenert.net: 1
- the-it-refinery.co.uk: 1
- attinteractive.com: 1
- pc-12-115.bestuur.omroep.nl: 1
- axini.com: 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
- sensis.com.au: 1
- reiz.lv: 1
- aspartner.no: 1
- finalist.com: 1
- vatn.org: 1
- riseup.net: 1
- technicalpickles.com: 1
- zephirworks.com: 1
- newrelic.com: 1
- inversepath.com: 1
- xing.com: 1
- shlrm.org: 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
- nulogy.com: 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
- monkeypox.org: 1
- skillnet.fi: 1
- yahoo.com.au: 1
- orien.io: 1
- lmcavalle.com: 1
- terra.com.br: 1
- fuglylogic.com: 1
- pcgcampbell.com: 1
- 21croissants.com: 1
- indabamusic.com: 1
- .bekk.no: 1
- finn.de: 1
- devopsy.com: 1
- hecticjeff.net: 1
- unknown.com: 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
- dpwhelan.com: 1
- daveltd.com: 1
- sportradar.com: 1
- theglens.org: 1
- galeckas.com: 1
- thomaspreece.net: 1
- webhippie.de: 1
- gitter.im: 1
- donie.us: 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
- bskyb.com: 1
- tomtenthij.nl: 1
- shcgd-egeng08.sjrb.ad: 1
- orgraphone.org: 1
- theorydot.com: 1
- onemorebug.com: 1
- .sjrb.ad: 1
- .expecndx.com: 1
- spbtv.com: 1
- noradltd.com: 1
- willmer.org: 1
- lemurheavy.com: 1
- herimedia.com: 1
- freelancing-gods.com: 1
- dtrasbo.com: 1
- rapt.us: 1
- student.hpi.de: 1
- fedux.org: 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
- matijs.net: 1
- reprocessed.org: 1
- nicolassanguinetti.info: 1
- ayrtonaraujo.net: 1
- cisco.com: 1
- hashrocket.com: 1
- mattwynne.net: 1
- pravosud.com: 1
- seasidetesting.com: 1
- haller-berlin.de: 1
- optoro.com: 1
- msn.com: 1
- kubicek.cz: 1
- innovativechildcaresolutions.com: 1
- ciemborowicz.pl: 1
- patientwisdom.com: 1
- leandog.com: 1
- asolutions.com: 1
- castor.wrk.lsn.camptocamp.com: 1
- oliver-desktop.(none): 1
- patrick-hp-625.(none): 1
- crealytics.de: 1
- ciandt.com: 1
- lucianosousa.net: 1
- sep.com: 1
- jordanstephens.net: 1
- fixieconsulting.com: 1
- andywaite.com: 1
- toptal.com: 1
- paypal.com: 1
- globys.com: 1
- chendo.net: 1
- post.pl: 1
- redflavor.com: 1
- inventables.com: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 52
Total pull requests: 213
Average time to close issues: about 1 year
Average time to close pull requests: 15 days
Total issue authors: 35
Total pull request authors: 32
Average comments per issue: 5.9
Average comments per pull request: 1.37
Merged pull request: 153
Bot issues: 1
Bot pull requests: 62
Past year issues: 8
Past year pull requests: 36
Past year average time to close issues: about 18 hours
Past year average time to close pull requests: 10 days
Past year issue authors: 6
Past year pull request authors: 7
Past year average comments per issue: 1.38
Past year average comments per pull request: 1.03
Past year merged pull request: 13
Past year bot issues: 0
Past year bot pull requests: 10
Top Issue Authors
- mattwynne (7)
- mitchgrout (6)
- aslakhellesoy (3)
- ameliaanism (2)
- pgundlupetvenkatesh (2)
- RayChenLDL (2)
- aurelien-reeves (2)
- diabolo (1)
- deivid-rodriguez (1)
- renovate[bot] (1)
- TylerRick (1)
- nonkor (1)
- mtasaka (1)
- EnriqueRamirezbecxi (1)
- luke-hill (1)
Top Pull Request Authors
- luke-hill (57)
- renovate[bot] (37)
- dependabot[bot] (25)
- aurelien-reeves (23)
- vincent-psarga (17)
- mattwynne (10)
- aslakhellesoy (4)
- orien (3)
- olleolleolle (3)
- nodeg (2)
- tagliala (2)
- amatsuda (2)
- jagthedrummer (2)
- kursataktas (2)
- mishina2228 (2)
Top Issue Labels
- :hourglass: stale (9)
- :zap: enhancement (8)
- :bug: bug (8)
- :white_check_mark: accepted (7)
- :bank: debt (6)
- :pray: help wanted (4)
- :baby_bottle: incomplete (3)
- good first issue (2)
- :no_good: wontfix (2)
- :thinking: cannot reproduce (2)
- :broken_heart: breaking change (2)
- :question: question (2)
- :wrench: build (1)
- :vertical_traffic_light: needs tests (1)
- :safety_pin: pinned (1)
- :cucumber: core team (1)
Top Pull Request Labels
- :robot: dependencies (35)
- ruby (6)
- :zap: enhancement (3)
- :bug: bug (2)
- :wrench: build (2)
- :book: documentation (2)
- spam (1)
- :white_check_mark: accepted (1)
- :cucumber: core team (1)
- :bank: debt (1)
Package metadata
- Total packages: 3
-
Total downloads:
- rubygems: 189,056,964 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: 565
- 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: 10.2.0 (published 14 days ago)
- Last Synced: 2025-12-22T13:33:16.329Z (2 days ago)
- Versions: 198
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 94,528,482 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: 10.2.0 (published 14 days ago)
- Last Synced: 2025-12-22T13:33:16.405Z (2 days ago)
- Versions: 198
- Dependent Packages: 2,388
- Dependent Repositories: 56,404
- Downloads: 94,528,482 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: v10.2.0+incompatible (published 14 days ago)
- Last Synced: 2025-12-22T13:33:17.023Z (2 days ago)
- Versions: 169
- 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.248700836340305