gpc-for-loop
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

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.

Package Sidebar

Install

npm i gpc-for-loop

Weekly Downloads

4,969

Version

1.0.0

License

MIT

Unpacked Size

15.1 kB

Total Files

8

Last publish

Collaborators

  • judit-nahaj
  • monikalaszlo
  • rakur
  • sorosz89
  • szikszail
  • wgula