2018-11-10 20:06:38 +01:00
|
|
|
# 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
|
|
|
|
|
|
|
|
1. Go to a directory
|
|
|
|
2. Install npm dependencies:
|
|
|
|
```sh
|
|
|
|
npm install
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Run the tests:
|
|
|
|
```sh
|
|
|
|
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](https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/data_table_interface.md).
|
|
|
|
|
|
|
|
### async
|
|
|
|
|
|
|
|
Shows how to use promises and `async`/`await` when testing asynchronous code.
|
2018-11-25 05:58:09 +01:00
|
|
|
|
|
|
|
### ts
|
|
|
|
|
|
|
|
Defining steps in TypeScript.
|
2018-12-27 08:47:18 +01:00
|
|
|
|
|
|
|
### type-parser
|
|
|
|
|
|
|
|
Defines custom parameter types.
|
|
|
|
|
|
|
|
### reuse
|
|
|
|
|
|
|
|
Suggests a way to reuse step definitions.
|
2018-12-29 06:43:46 +01:00
|
|
|
|
|
|
|
### formatter
|
|
|
|
|
|
|
|
Uses non-default output formatter. See
|
|
|
|
[package.json](https://github.com/caraus-ecms/cucumber-js-demo/blob/master/formatter/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.
|
2018-12-31 07:44:25 +01:00
|
|
|
|
|
|
|
### assertion
|
|
|
|
|
|
|
|
This package contains some failing tests demonstrating object diffs provided by
|
|
|
|
node's native asserts, chai and jest.
|