
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
gpc-for-loop
Advanced tools
A precompiler of GherKing to loop scenarios and scenario outlines to repeat them.
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.
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 repeat (for explicit loops, not applicable for iterations) |
tagName | 'loop' | Tag used to mark scenarios or outlines to be repeated |
format | '${name} (${i})' | Format of the scenario or outline name after repeating |
startIndex | 1 | The first index to use when repeating a scenario |
limitToMaxValue | true | Whether higher repeat values than the max should be limited to the max or error should be thrown ( false ) |
keepTag | false | Whether the loop tags should be kept or removed (default) |
iterations | - | An object of iteration name and values (named repeat values) |
If iterations
is set, the keys of the iterations object can be used as values of the loop tag, to use predefined repeat values. For example, if iterations is { "stress": 5 }
then @loop(stress)
means repeating 5 times.
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",
});
This package uses debug for logging, use gpc:for-loop
:
DEBUG=gpc:for-loop* gherking ...
For detailed documentation see the TypeDocs documentation.
1.1.1
FAQs
A precompiler of GherKing to loop scenarios and scenario outlines to repeat them.
The npm package gpc-for-loop receives a total of 6,455 weekly downloads. As such, gpc-for-loop popularity was classified as popular.
We found that gpc-for-loop demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.