GherKing
GherKing configuration
| Type | object |
|---|---|
| File match |
.gherking.json
.gherkingrc
gherking.json
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/gherking/latest.json |
| Source | https://raw.githubusercontent.com/gherking/gherking/master/schema/gherking.schema.json |
Validate with Lintel
npx @lintel/lintel check
Properties
The precompilers to use and their configuration.
The explicit schema set. It is optional, as GherKing is supported by schemastore.org, thus most IDE.
The source folder or glob pattern of the input feature files.
The base folder of the input feature files.
The destination folder to put the output feature files.
Whether the destination directory should be clean in advance.
Whether some information should be displayed on the screen.
Whether the missing precompilers (gpc-* packages) should be installed and save to the package.json. Packages will be installed in the current folder, and package.json created if it is not there yet.
Options to pass to gherkin-ast, on how to parse the input feature files.
1 nested properties
The parametrized tag format.
Options to pass to gherkin-formatter, on how to format the output feature files.
6 nested properties
Should the tags be rendered separately, one by line?
Should step groups (when-then) be separated?
Should empty lines be skipped, removed from the result?
The line break character(s).
The indentation character(s).
The parametrized tag format.
Definitions
A custom precompiler configuration, implemented either as an object or a PreCompiler class.
Either the NPM package name to use, or the path to a JS file containing a PreCompiler.
The configuration object, if necessary, to be passed to the custom precompiler class.
This GherKing Precompiler is responsible to replace keys in feature files with given values.
The key-value pairs to replace in the feature files.
The Filter precompiler is responsible for including or excluding the elements of a feature file in the result, which match a cucumber-tag-expression (e.g., has a given tag, does not have a given tag).
Cucumber-tag-expression the filtering is based on
A precompiler of GherKing to loop scenarios and scenario outlines to repeat them.
7 nested properties
Maximum value of iteration.
Starting index of the iteration
Tag used to mark scenarios or outlines to be repeated.
Format of the scenario or outline name after repeating. These tokens must be used: ${name}, ${i}.
Whether higher iteration values than the max should be limited to the max or error should be thrown (false).
Whether the loop tags should be kept or removed (default).
An object of iteration name and values (named repeat values),
This precompiler is responsible for defining macros in feature files and then executing them.
This precompiler removes all or particular type of semantic comments from the feature file.
1 nested properties
To set which comment types should be kept, not removed.
The RemoveDuplicates precompiler is responsible for having only a reasonable amount of tags and/or rows in each feature file.
2 nested properties
Should tags on the same level and from parent be de-duplicated.
Should table rows be de-duplicated.
The ScenarioNumbering precompiler is responsible for adding an index to all scenarios and scenario outlines.
1 nested properties
The format, how index should be added to the name of the scenario/scenairo outline. Possible tokens: ${name} the original name, ${i} the index
This precompiler is responsible for converting Scenario Outlines to single Scenarios as Cucumber would do and adds the first column as a tag.
1 nested properties
Tag used to mark scenarios to be ignored during expanding Scenario Outlines.
This precompiler can add numbering column to Examples tables, and apply formatting to the name of the Scenario Outline.
6 nested properties
Should the example parameters be added to the name of the Scenario Outline.
The delimiter to use when adding the parameters to the name of the Scenario Outline.
The format how the output Scenario Outline name should look with the parameters. Tokens to use: ${name}, ${parameters}
Should an index be added to the name of the Scenario Outline.
The format how the output Scenario Outline name should look with the index. Tokens to use: ${name}, ${i}
Should the existing numbering field (num) block execution (true) or be used for numbering (false).
The StepGroups precompiler is responsible for correcting the gherkin keywords of steps to make the tests more readable.
This precompiler can load external data (JSON, CSV, or XLS/XLSX) into exmaples table.
4 nested properties
Whether the load-tags should be kept or removed.
The default value to be added to the table if a column/value is not found.
Whether the loaded data should be appended to the existing rows of the examples table or overwritten.
Whether the casing of the example columns and data columns should be ignored.
This precompiler can be used to inject License statement into the feature files.
3 nested properties
The file's path where the license is stored.
The exact license text. It can contain the ${LICENSE} token to set the content of the license file.
The place to inject the license text, either in start or end comment.
Options to pass to gherkin-ast, on how to parse the input feature files.
The parametrized tag format.
Options to pass to gherkin-formatter, on how to format the output feature files.
Should the tags be rendered separately, one by line?
Should step groups (when-then) be separated?
Should empty lines be skipped, removed from the result?
The line break character(s).
The indentation character(s).
The parametrized tag format.