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
| Fact | cucumber-js | Codeception |
|---|---|---|
| Stars | 5,3941 | 4,8571 |
| Forks | 1,1121 | 1,2791 |
| Contributors | 2031 | 8531 |
| Last release | 2026-08-041 | 2026-02-181 |
| Last commit | 2026-09-221 | 2026-08-061 |
| Commits in 90 days | 1001 | 41 |
| License | MIT1 | MIT1 |
| Primary language | TypeScript1 | PHP1 |
| Status | active1 | active1 |
| Languages for writing tests | JavaScript; TypeScript and other languages that transpile to JavaScript source: Docs: Transpiling | PHP source: README |
| Specification format | Plain language Gherkin feature files, with step definitions in code source: README | PHP code; classic PHPUnit tests also run source: README |
| Parallel or distributed execution | --parallel option runs scenarios in worker threads source: Docs: Parallel | Sharding across CI jobs with the --shard option; robo-paracept task set for groups source: Docs: Parallel Execution |
| CI integration | JUnit formatter output for CI platforms to pick up results source: Docs: Formatters | Setup steps for Jenkins, GitHub Actions, GitLab CI and Travis CI source: Docs: Continuous Integration |
| Report formats | Summary, progress, pretty, HTML, message (NDJSON), JSON, JUnit XML, usage source: Docs: Formatters | CLI, HTML (--html), JUnit XML (--xml); Allure through an extension source: Docs: Reporting |
| Install method | npm (npm install @cucumber/cucumber) source: README | Composer (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
- GitHub REST API: repository, read
- GitHub REST API: repository, read
- GitHub REST API: contributors, read
- GitHub REST API: contributors, read
- GitHub REST API: latest release, read
- GitHub REST API: latest release, read
- GitHub REST API: commits, read
- GitHub REST API: commits, read
- Docs: Transpiling, read
- README, read
- README, read
- Docs: Parallel, read
- Docs: Parallel Execution, read
- Docs: Formatters, read
- Docs: Continuous Integration, read
- Docs: Reporting, read
Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.