Suggest a tool

cucumber-js vs Codeception: 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.

Codeception: Full-stack PHP testing framework for acceptance, functional and unit tests written as actor steps.

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; that does not mean the feature is absent.

Side by side

cucumber-js and Codeception: metrics and documented facts, in the fixed row order used for BDD comparisons.
Factcucumber-jsCodeception
Stars5,39414,8571
Forks1,11211,2791
Contributors20318531
Last release2026-08-0412026-02-181
Last commit2026-09-2212026-08-061
Commits in 90 days100141
LicenseMIT1MIT1
Primary languageTypeScript1PHP1
Statusactive1active1
Languages for writing testsJavaScript; TypeScript and other languages that transpile to JavaScript source: Docs: TranspilingPHP source: README
Specification formatPlain language Gherkin feature files, with step definitions in code source: READMEPHP code; classic PHPUnit tests also run source: README
Parallel or distributed execution--parallel option runs scenarios in worker threads source: Docs: ParallelSharding across CI jobs with the --shard option; robo-paracept task set for groups source: Docs: Parallel Execution
CI integrationJUnit formatter output for CI platforms to pick up results source: Docs: FormattersSetup steps for Jenkins, GitHub Actions, GitLab CI and Travis CI source: Docs: Continuous Integration
Report formatsSummary, progress, pretty, HTML, message (NDJSON), JSON, JUnit XML, usage source: Docs: FormattersCLI, HTML (--html), JUnit XML (--xml); Allure through an extension source: Docs: Reporting
Install methodnpm (npm install @cucumber/cucumber) source: READMEComposer (composer require "codeception/codeception" --dev) or codecept.phar 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

Codeception

Fits projects that write acceptance, functional and unit tests for PHP applications; its README describes a full-stack testing framework for PHP. 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: Parallel Execution, read
  14. Docs: Formatters, read
  15. Docs: Continuous Integration, read
  16. Docs: Reporting, read

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