π NEWS!!! π
We recently released the following improvements:
- gpc-for-loop/Iterations (gpc-for-loop@1.1.0) - to define iterations and use those in the loop tags (gherking#91)
What can you do with GherKing?
- You can use the gherkin-ast package to build and work with feature files in your code using an AST.
- You can load and parse feature files to AST and save them back using the gherkin-io package and the gherkin-formatter to make them pretty.
- You can use the gherking CLI tool (and the precompilers below) to build a precompiler for your feature files, adding more logic and magic π to your feature files.
Our precompilers
- Filter - gpc-filter - to include or exclude scenario/outlines of feature files based on a cucumber-tag-expression.
- For Loop - gpc-for-loop - to loop scenarios and scenario outlines to repeat them.
- License - gpc-license - to add a license statement to the feature files.
- Macro - gpc-macro - to create and execute macros.
- Remove Comments - gpc-remove-comments - to remove all or particular types of semantic comments from the feature file.
- Remove Duplicates - gpc-remove-duplicates - to remove duplicated tags or example data table rows.
- Replacer - gpc-replacer - to replace keywords in the feature files.
- Scenario Numbering - gpc-scenario-numbering - to add an index to all scenarios and scenario outlineβs name.
- Scenario Outline Expander - gpc-scenario-outline-expander - to expand the Scenario Outlines to actual scenarios.
- Scenario Outline Numbering - gpc-scenario-outline-numbering - to make all scenarios generated from scenario outlines unique.
- Step Group - gpc-step-groups - to correct the gherkin keywords of steps to make the tests more readable.
- Test Data - gpc-test-data - to load external data (JSON, CSV, or XLS/XLSX) into the examples table.
Precompilers we plan
- Conditional Steps - to allow skipping steps based on certain conditions (examples table columns) (gherking#86)
- Copy - to copy feature files and distribute them based on some logic (e.g., to different folders, based on a tag) (gherking#39)
- Example Sampler - to chose a given number of random example (gherking#37)
- Sorter - to sort scenario/outline based on certain conditions (gherking#52)
- Splitter - to split each scenario/outline to separate feature files to improve parallelization (gherking#44)
- Statistics - to gather useful statistics of the feature files (gherking#82)
- Suite Generator - to sort feature files and scenarios/outlines in separate files based on suite tags (gherking#45)
Do you have an idea for a cool precompiler? Send your idea to us!
Do you have a precompiler you implemented? Send it to us! And we will list here!
Upcoming features
- gherking/environment variables - to allow usage of environment variables in configuration to control precompilers and their attributes (gherking#90)
- gherking/jumpstart command (in progress) - to kick-off usage of GherKing easier (gherking#66)
- gpc-replacer/built-in tokens - to add the possibility to use UUID much more easily (gpc-replacer#4)
- gherking/Controlling precompiler application - to control which precompiler is applied to a given feature file or which is not (gherking#73)
Do you have an idea for any new features? Send your idea to us!