Options
All
  • Public
  • Public/Protected
  • All
Menu

gpc-for-loop

gpc-for-loop

Downloads Version@npm Version@git CI Docs

A precompiler of GherKing to loop scenarios and scenario outlines to repeat them.

In the case of scenario outlines, it copies all rows of examples, resulting in iterator × rows number of scenarios when tests are run.

Usage

Identify scenario or scenario outline to be repeated and mark it with ${loopTag}(${i}) e.g. @loop(4).

The precompiler will then repeat this scenario or scenario outline for ${i} times, modifying its name according to the format.

Configurable variables and their default options:

Option Default Description
maxValue 10 Maximum value of iteration
tagName 'loop' Tag used to mark scenarios or outlines to be repeated
format '${name} (${i})' Format of the scenario or outline name after repeating
limitToMaxValue true Whether higher iteration values than the max should be limited to the max or error should be thrown ( false )

See examples for the input files and output in the test/data folder.

'use strict';
const compiler = require('gherking');
const ForLoop = require('gpc-for-loop');

let ast = await compiler.load('./features/src/login.feature');
ast = compiler.process(
ast,
new ForLoop({
// config
})
);
await compiler.save('./features/dist/login.feature', ast, {
lineBreak: '\r\n'
});
'use strict';
import {load, process, save} from "gherking";
import ForLoop = require("gpc-for-loop");

let ast = await load("./features/src/login.feature");
ast = process(
ast,
new ForLoop({
// config
})
);
await save('./features/dist/login.feature', ast, {
lineBreak: '\r\n'
});

Other

This package uses debug for logging, use gpc:for-loop :

DEBUG=gpc:for-loop* gherking ...

For detailed documentation see the TypeDocs documentation.

Generated using TypeDoc