gpc-filter
v1.0.1
Published
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)
Downloads
1
Readme
gpc-filter
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)
Usage
'use strict';
const compiler = require('gherking');
const Filter = require('gpc-filter');
let ast = await compiler.load('./features/src/login.feature');
ast = compiler.process(
ast,
new Filter({
// config
})
);
await compiler.save('./features/dist/login.feature', ast, {
lineBreak: '\r\n'
});
'use strict';
import {load, process, save} from "gherking";
import Filter = require("gpc-filter");
let ast = await load("./features/src/login.feature");
ast = process(
ast,
new Filter({
// config
})
);
await save('./features/dist/login.feature', ast, {
lineBreak: '\r\n'
});
Configuration
The precompiler accepts the following configuration:
| Type | Description | Necessity | Default value |
|:----:|:------------|:----------|:--------------|
| string
| Cucumber-tag-expression the filtering is based on | Optional | not @wip
|
Example
Keeping elements with @current tag
new Filter("@current")
Scenario: One tag
Given A scenario with one tag is created
When this Scenario is compiled
Then something should happen
@current
Scenario: Another tag
Given A scenario with another tag is created
When this Scenario is compiled
Then something should happen
Scenario Outline: Multiple tags in multiple examples
Given A scenarioOutline with tags in multiple examples is created
When this Scenario Outline is compiled
Then something should happen
Examples:
| multiple examples no tag column |
| multiple examples no tag row |
@wip
Examples:
| multiple examples one tag column |
| multiple examples one tag row |
@current
Examples:
| multiple examples other tag column |
| multiple examples other tag row |
Will be processed into:
@current
Scenario: Another tag
Given A scenario with another tag is created
When this Scenario is compiled
Then something should happen
Scenario Outline: Multiple tags in multiple examples
Given A scenarioOutline with tags in multiple examples is created
When this Scenario Outline is compiled
Then something should happen
@current
Examples:
| multiple examples other tag column |
| multiple examples other tag row |
Other
This package uses debug for logging, use gpc:filter
:
DEBUG=gpc:filter* gherking ...
For detailed documentation see the TypeDocs documentation.