cucumber_lint
A command line linter and formatter for cucumber features
Installation
gem install cucumber_lint
Usage
cucumber_lint # Lints (exits with status 1 on failure, 0 on success)
cucumber_lint --fix # Fixes all lint errors
Configuration
Create a cucumber_lint.yml
file in the same folder that contains your features
directory.
Override the default config to disable a rule or change the enforced style.
Rules
consistent_empty_lines
- requires empty lines to be used consistently throughout features
consistent_table_headers
- requires all table headers to have the same style
- supported styles: uppercase and lowercase
- scenario outline placeholders must share the same style
consistent_table_whitespace
-
requires leading and trailing space around the cell content and the pipes to be aligned
# Bad # Bad # Good |VEGETABLE|CODENAME| | VEGETABLE | CODENAME | | VEGETABLE | CODENAME | |Asparagus|Alpha| |Asparagus | Alpha | | Asparagus | Alpha | |Broccoli|Bravo| |Broccoli | Bravo | | Broccoli | Bravo | |Carrot|Charlie| | Carrot| Charlie | | Carrot | Charlie |
no_empty_features
- empty
.feature
files are not allowed
no_repeating_keywords
-
Use
And
instead of repeatingGiven
,When
, orThen
# Bad # Good Given A Given A Given B And B When C When C When D And D Then E Then E Then F And F