A summary of data about the Ruby ecosystem.

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 crash-reporting rubocop

Last synced: about 5 hours ago
JSON representation

Repository metadata

Cucumber for Ruby. It's amazing!

README.md

Gem Version
OpenSSF Scorecard
OpenCollective
OpenCollective
Stand With Ukraine

Build Status
Build Status

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

Copyright (c) Cucumber and Contributors. See LICENSE for details.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 7,058
Total Committers: 459
Avg Commits per committer: 15.377
Development Distribution Score (DDS): 0.649

Commits in past year: 154
Committers in past year: 11
Avg Commits per committer in past year: 14.0
Development Distribution Score (DDS) in past year: 0.558

Name Email Commits
Aslak Hellesøy a****y@g****m 2476
Matt Wynne m****t@m****t 963
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 201
Jayson Smith g****b@n****m 193
Oleg Sukhodolsky o****3@g****m 136
Luke Hill 2****l 133
Ben Mabey b****n@b****m 132
Joseph Wilk j****e@j****t 123
renovate[bot] 2****] 94
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
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 429 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 66
Total pull requests: 274
Average time to close issues: 11 months
Average time to close pull requests: 17 days
Total issue authors: 44
Total pull request authors: 38
Average comments per issue: 5.48
Average comments per pull request: 1.44
Merged pull request: 197
Bot issues: 1
Bot pull requests: 73

Past year issues: 15
Past year pull requests: 66
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 19 days
Past year issue authors: 11
Past year pull request authors: 10
Past year average comments per issue: 3.4
Past year average comments per pull request: 1.45
Past year merged pull request: 46
Past year bot issues: 0
Past year bot pull requests: 12

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/cucumber/cucumber-ruby

Top Issue Authors

  • mattwynne (7)
  • mitchgrout (6)
  • luke-hill (6)
  • aslakhellesoy (3)
  • ameliaanism (2)
  • pgundlupetvenkatesh (2)
  • RayChenLDL (2)
  • aurelien-reeves (2)
  • jkronegg (1)
  • timreinkeaxios (1)
  • diabolo (1)
  • deivid-rodriguez (1)
  • renovate[bot] (1)
  • TylerRick (1)
  • oellul (1)

Top Pull Request Authors

  • luke-hill (83)
  • renovate[bot] (48)
  • dependabot[bot] (25)
  • aurelien-reeves (23)
  • vincent-psarga (17)
  • mattwynne (12)
  • brasmusson (8)
  • mvz (5)
  • aslakhellesoy (4)
  • StantonMatt (3)
  • mpkorstanje (3)
  • orien (3)
  • olleolleolle (3)
  • Enceradeira (2)
  • JasonnnW3000 (2)

Top Issue Labels

  • :bank: debt (11)
  • :bug: bug (11)
  • :zap: enhancement (8)
  • :hourglass: stale (8)
  • :white_check_mark: accepted (7)
  • :pray: help wanted (4)
  • :baby_bottle: incomplete (3)
  • :thinking: cannot reproduce (2)
  • :question: question (2)
  • envelope-migration (2)
  • :no_good: wontfix (2)
  • :broken_heart: breaking change (2)
  • good first issue (2)
  • :cucumber: core team (1)
  • :wrench: build (1)
  • enhancement (1)
  • :safety_pin: pinned (1)
  • :vertical_traffic_light: needs tests (1)

Top Pull Request Labels

  • :robot: dependencies (46)
  • 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

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.1 (published 3 months ago)
  • Last Synced: 2026-10-01T07:03:09.211Z (1 day ago)
  • Versions: 201
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 104,251,601 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.1 (published 3 months ago)
  • Last Synced: 2026-10-01T07:03:09.171Z (1 day ago)
  • Versions: 201
  • Dependent Packages: 2,388
  • Dependent Repositories: 56,404
  • Downloads: 104,251,601 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.1+incompatible (published 3 months ago)
  • Last Synced: 2026-10-01T07:03:09.989Z (1 day ago)
  • Versions: 172
  • 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

Gemfile rubygems
  • rubocop = 1.32.0
  • rubocop-packaging ~> 0.3, = 0.5.1
cucumber.gemspec rubygems
  • 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
.github/actions/test-ruby/action.yaml actions
  • ruby/setup-ruby v1 composite
.github/workflows/rubocop.yaml actions
  • actions/checkout v4 composite
  • ruby/setup-ruby v1 composite
.github/workflows/codeql-ruby.yaml actions
  • actions/checkout 3d3c42e5aac5ba805825da76410c181273ba90b1 composite
  • github/codeql-action/analyze cdf488f595d80d6e07e03d4674febd5ab45fa938 composite
  • github/codeql-action/init cdf488f595d80d6e07e03d4674febd5ab45fa938 composite
.github/workflows/release-github.yaml actions
  • actions/checkout 3d3c42e5aac5ba805825da76410c181273ba90b1 composite
  • cucumber/action-create-github-release cf2c6f77ba35d2424362e83393a1c4c004cf2ddb composite
.github/workflows/test-ruby.yaml actions
  • ./.github/actions/test-ruby * composite
  • actions/checkout 3d3c42e5aac5ba805825da76410c181273ba90b1 composite
.github/workflows/release-rubygem.yaml actions
  • actions/checkout 3d3c42e5aac5ba805825da76410c181273ba90b1 composite
  • cucumber/action-publish-rubygem 4e79bb9aed597c835e8438f57c04d0996ab80d72 composite
  • ruby/setup-ruby 95ef2b042f9d7a56d8268cba8559e2842e2ad01b composite
  • rubygems/configure-rubygems-credentials dc5a8d8553e6ee01fc26761a49e99e733d17954a composite
.github/workflows/zizmor-analysis.yaml actions
  • actions/checkout 3d3c42e5aac5ba805825da76410c181273ba90b1 composite
  • zizmorcore/zizmor-action 70fb788f84895a7701f5643d103d587e460b5c99 composite

Score: 34.319985358335515