Suggest a tool

cucumber-js vs cucumber-ruby: open-source BDD tools compared

Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.

Summary

cucumber-js: JavaScript implementation of Cucumber for running plain-language Gherkin tests on Node.js.

cucumber-ruby: Ruby implementation of Cucumber that runs Gherkin feature files with Ruby step definitions.

Both are listed under BDD. The table gives repository metrics from the GitHub API with their fetch date, then the documented facts used for every comparison in this category, each linked to the README or docs page it comes from. A cell reads "not documented" when the fact was not found in the project's documentation (1 of 12 fact cells here); that does not mean the feature is absent.

Side by side

cucumber-js and cucumber-ruby: metrics and documented facts, in the fixed row order used for BDD comparisons.
Factcucumber-jscucumber-ruby
Stars5,39415,2121
Forks1,11211,1181
Contributors20314651
Last release2026-08-0412026-06-251
Last commit2026-09-2212026-09-181
Commits in 90 days1001541
LicenseMIT1MIT1
Primary languageTypeScript1Ruby1
Statusactive1active1
Languages for writing testsJavaScript; TypeScript and other languages that transpile to JavaScript source: Docs: TranspilingRuby source: README
Specification formatPlain language Gherkin feature files, with step definitions in code source: READMEGherkin feature files with Ruby step definitions source: README
Parallel or distributed execution--parallel option runs scenarios in worker threads source: Docs: Parallelnot documentednot found in the project's documentation as of
CI integrationJUnit formatter output for CI platforms to pick up results source: Docs: FormattersCI guide: run through Rake, Ant or Maven; JUnit formatter output for Jenkins source: Docs: Continuous Integration
Report formatsSummary, progress, pretty, HTML, message (NDJSON), JSON, JUnit XML, usage source: Docs: FormattersBuilt-in formatters: message, progress, pretty, html, json, rerun, junit source: Docs: Reporting
Install methodnpm (npm install @cucumber/cucumber) source: READMERubyGems (gem install cucumber) or Bundler (gem 'cucumber' in the Gemfile) source: README

1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.

When each fits

Written from each project's documented scope, not from preference. Neither tool is ranked.

cucumber-js

Fits projects that write automated tests in plain language for Node.js; its README describes the JavaScript implementation of Cucumber running on maintained versions of Node.js. source: README

cucumber-ruby

Fits projects that run automated tests for Ruby code written in plain language; its README describes plain-language tests that anyone on the team can read. source: README

More on these tools

Sources

  1. GitHub REST API: repository, read
  2. GitHub REST API: repository, read
  3. GitHub REST API: contributors, read
  4. GitHub REST API: contributors, read
  5. GitHub REST API: latest release, read
  6. GitHub REST API: latest release, read
  7. GitHub REST API: commits, read
  8. GitHub REST API: commits, read
  9. Docs: Transpiling, read
  10. README, read
  11. README, read
  12. Docs: Parallel, read
  13. Docs: Formatters, read
  14. Docs: Continuous Integration, read
  15. Docs: Reporting, read

Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.