# cucumber

> The official JavaScript implementation of Cucumber.

Latest version **6.0.7** (published 2022-04-20) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install cucumber
pnpm add cucumber
yarn add cucumber
bun add cucumber
```

Provides the command `cucumber-js`.

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 6.0.7 |
| Published | 2022-04-20 |
| First published | 2011-07-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/cucumber) |
| Module format | CommonJS |
| Node | >=8 |
| Dependencies | 27 |
| Unpacked size | 6.7 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 5393 |
| Author | Julien Biezemans |
| Maintainers | tooky, jbpros, charlierudolph, aslakhellesoy, mattwynne, cukebot |
| Keywords | testing, bdd, cucumber, gherkin, tests |

## Links

- npm: https://www.npmjs.com/package/cucumber
- Repository: https://github.com/cucumber/cucumber-js
- Homepage: http://github.com/cucumber/cucumber-js
- Issues: http://github.com/cucumber/cucumber-js/issues
- npm.io page: https://npm.io/package/cucumber

## Dependencies (27)

- [mz](https://npm.io/package/mz.md) ^2.4.0
- [glob](https://npm.io/package/glob.md) ^7.1.3
- [colors](https://npm.io/package/colors.md) ^1.1.2
- [lodash](https://npm.io/package/lodash.md) ^4.17.14
- [verror](https://npm.io/package/verror.md) ^1.9.0
- [figures](https://npm.io/package/figures.md) ^3.0.0
- [gherkin](https://npm.io/package/gherkin.md) 5.0.0
- [resolve](https://npm.io/package/resolve.md) ^1.3.3
- [bluebird](https://npm.io/package/bluebird.md) ^3.4.1
- [duration](https://npm.io/package/duration.md) ^0.2.1
- [progress](https://npm.io/package/progress.md) ^2.0.0
- [commander](https://npm.io/package/commander.md) ^3.0.1
- [is-stream](https://npm.io/package/is-stream.md) ^2.0.0
- [cli-table3](https://npm.io/package/cli-table3.md) ^0.5.1
- [title-case](https://npm.io/package/title-case.md) ^2.1.1
- [util-arity](https://npm.io/package/util-arity.md) ^1.0.2
- [stack-chain](https://npm.io/package/stack-chain.md) ^2.0.0
- [string-argv](https://npm.io/package/string-argv.md) ^0.3.0
- [is-generator](https://npm.io/package/is-generator.md) ^1.0.2
- [indent-string](https://npm.io/package/indent-string.md) ^4.0.0
- [stacktrace-js](https://npm.io/package/stacktrace-js.md) ^2.0.0
- [serialize-error](https://npm.io/package/serialize-error.md) ^4.1.0
- [cucumber-expressions](https://npm.io/package/cucumber-expressions.md) ^8.1.0
- [escape-string-regexp](https://npm.io/package/escape-string-regexp.md) ^2.0.0
- [knuth-shuffle-seeded](https://npm.io/package/knuth-shuffle-seeded.md) ^1.0.6
- [cucumber-tag-expressions](https://npm.io/package/cucumber-tag-expressions.md) ^2.0.2
- [assertion-error-formatter](https://npm.io/package/assertion-error-formatter.md) ^3.0.0

## Alternatives

- [duck](https://npm.io/package/duck.md) — 4.2M weekly downloads
- [ava](https://npm.io/package/ava.md) — 560.2K weekly downloads
- [storybook-addon-module-mock](https://npm.io/package/storybook-addon-module-mock.md) — 71.7K weekly downloads
- [vest](https://npm.io/package/vest.md) — 50.1K weekly downloads
- [@ethereum-waffle/mock-contract](https://npm.io/package/@ethereum-waffle/mock-contract.md) — 40.0K weekly downloads

## Recent versions

- 6.0.7 (latest) — 2022-04-20
- 7.0.0-rc.0 (next) — 2020-09-18
- 6.0.6 — 2022-04-20
- 6.0.5 — 2019-11-13
- 6.0.4 — 2019-11-11
- 6.0.3 — 2019-10-27
- 6.0.2 — 2019-10-08
- 6.0.1 — 2019-10-06
- 6.0.0 — 2019-10-06
- 5.1.0 — 2018-12-29
- 5.0.3 — 2018-12-04
- 5.0.2 — 2018-10-06
- 5.0.1 — 2018-09-15
- 5.0.0 — 2018-09-10
- 4.2.1 — 2018-04-09
- … 96 more at https://npm.io/package/cucumber/versions

## README

🚨🚨🚨

Cucumber is publishing new releases under `@cucumber/cucumber` on npm:  
<https://www.npmjs.com/package/@cucumber/cucumber>

Features in the latest version include:
- `BeforeEach` and `AfterEach` hooks
- Searchable HTML reports
- Native ESM support
- Write scenarios in Markdown

Full changelog: https://github.com/cucumber/cucumber-js/blob/main/CHANGELOG.md  
Upgrading guide: https://github.com/cucumber/cucumber-js/blob/main/UPGRADING.md

🚨🚨🚨

# Cucumber

[Cucumber](https://cucumber.io) 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.

Cucumber.js is the JavaScript implementation of Cucumber and runs on the [maintained Node.js versions](https://github.com/nodejs/Release) and *modern* web browsers.

## Help & support

* See here: https://cucumber.io/support

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for info on contributing to Cucumber.js.

## Code of Conduct

Everyone interacting in this codebase and issue tracker is expected to follow the Cucumber [code of conduct](https://github.com/cucumber/cucumber/blob/master/CODE_OF_CONDUCT.md).

## Install

[![npm downloads](https://img.shields.io/npm/dm/cucumber.svg?style=flat-square)](http://npm-stat.com/charts.html?package=cucumber&from=2015-09-01)


### Node

Cucumber.js is available as an npm module.

``` shell
$ npm install cucumber
```

### Browser

* Grab the browserified code from the latest release in the [dist](/dist) folder

## Documentation

The following documentation is for master. See below for documentation for older versions. 

* [CLI](/docs/cli.md)
* [Custom Formatters](/docs/custom_formatters.md)
* [Custom Snippet Syntaxes](/docs/custom_snippet_syntaxes.md)
* [NodeJs Example](/docs/nodejs_example.md)
* Support Files
  * [World](/docs/support_files/world.md)
  * [Step Definitions](/docs/support_files/step_definitions.md)
  * [Hooks](/docs/support_files/hooks.md)
  * [Timeouts](docs/support_files/timeouts.md)
  * [Data Table Interface](/docs/support_files/data_table_interface.md)
  * [Attachments](/docs/support_files/attachments.md)
  * [API Reference](/docs/support_files/api_reference.md)
* [FAQ](/docs/faq.md)

#### Documentation for older versions

* [`5.x`](https://github.com/cucumber/cucumber-js/tree/5.x)
* [`4.x`](https://github.com/cucumber/cucumber-js/tree/4.x)
* [`3.x`](https://github.com/cucumber/cucumber-js/tree/3.x)
* [`2.x`](https://github.com/cucumber/cucumber-js/tree/2.x)
* [`1.x`](https://github.com/cucumber/cucumber-js/tree/1.x)

---
_Source: https://npm.io/package/cucumber · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
