1args | ||
2obj | ||
3bg | ||
4outline | ||
assertion | ||
async | ||
data-tables | ||
formatter | ||
reuse | ||
ts | ||
type-parser | ||
.gitignore | ||
LICENSE | ||
README.md |
Cucumber.js examples
This repository demonstrates features of Cucumber.js. Each directory contains an independent npm-package with an example.
The packages have standard directory structure:
- Features are in the
feature/
directory and have.feature
extension. - Step definitions are JavaScript files in
feature/steps/
.
Running the tests
- Go to a directory
- Install npm dependencies:
npm install
- Run the tests:
npm test
Available examples
1-5
The directories with the names starting with a number are parts of a single step-by-step guide which introduces Cucumber.js. Each step of this guide builds on the previous one and contains a few more lines of JavaScript code.
The target project is a small test suite for the JavaScript +
operator.
data-tables
When data tables are used, Cucumber.js provides different views of the data. This directory contains one feature with four scenarios, each of which uses a different way to read the given table. These tests cover all possibilities to access the data in a data table.
See Data tables.
async
Shows how to use promises and async
/await
when testing asynchronous code.
ts
Defining steps in TypeScript.
type-parser
Defines custom parameter types.
reuse
Suggests a way to reuse step definitions.
formatter
Uses non-default output formatter. See package.json.
See also:
- Custom formatters: https://github.com/cucumber/cucumber-js/blob/master/docs/custom_formatters.md
- Built-in formatters: https://github.com/cucumber/cucumber-js/tree/master/src/formatter.
assertion
This package contains some failing tests demonstrating object diffs provided by node's native asserts, chai and jest.